نمایش نتایج 1 تا 11 از 11

نام تاپیک: LINQ TO SQL

  1. #1

    LINQ TO SQL

    با سلام
    آیا در یک پروژه ای که تقریبا 60 تا جدول داره می توان این 60 تا جدول را داخل یه LINQ TO SQL قرار داد و کار کرد یعنی بعدها مشکلی پیش نمی یاد و من از EF استفاده نمی کنم چون سرعت واکشی داده از EF به نظر من کمتر از LINQ TO SQL است به همین خاطر اگر این کار انجام شدنی باشه از LINQ TO SQL استفاده کنم

  2. #2
    VIP
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    www
    سن
    40
    پست
    1,247

    نقل قول: LINQ TO SQL

    مشکلی نداره ولی شما به سرعت اشاره کردین ، لازمه عنوان کنم که تست سرعت معیار های خاصی داره یکی از معیارهاش سرعت واکشی در N بارم هست که مبحث caching اینجا مطرح میشه , در نهایت اینکه EF از Caching بهتری نسبت به LinqToSql بهره میبره

  3. #3

    نقل قول: LINQ TO SQL

    نقل قول نوشته شده توسط majid325 مشاهده تاپیک
    مشکلی نداره ولی شما به سرعت اشاره کردین ، لازمه عنوان کنم که تست سرعت معیار های خاصی داره یکی از معیارهاش سرعت واکشی در N بارم هست که مبحث caching اینجا مطرح میشه , در نهایت اینکه EF از Caching بهتری نسبت به LinqToSql بهره میبره
    من تنها به این خاطر از EF استفاده نمی کنم فقط به خاطر سرعت کانکت شدن به EF برای اولین بار حداقل پنج شش ثانیه طول می کشه که خیلی ضایع بازیه اگه راه حلی دارید که این زمان را منطقی تر کنید من خودم هم دوست دارم از EF استفاده کنم با تشکر

  4. #4
    VIP
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    www
    سن
    40
    پست
    1,247

    نقل قول: LINQ TO SQL

    نقل قول نوشته شده توسط مهدیعای مشاهده تاپیک
    سرعت کانکت شدن به EF برای اولین بار حداقل پنج شش ثانیه طول می کشه
    نه فکر میکنم یه جای کار شما مشکل داره!!
    5 ، 6 ثانیه کانکت شدن !!! میتونید اون قسمت از کد که 5 ، 6 ثانیه زمان میبره رو بزارین؟

  5. #5

    نقل قول: LINQ TO SQL

    با سلام
    نقل قول نوشته شده توسط majid325 مشاهده تاپیک
    نه فکر میکنم یه جای کار شما مشکل داره!!
    5 ، 6 ثانیه کانکت شدن !!! میتونید اون قسمت از کد که 5 ، 6 ثانیه زمان میبره رو بزارین؟
    من موقع استفاده از EF یک Class Library جدید به پروژه اضافه کرده و یک ADO.NET Entity DataModel به Class Library اضافه کرده و جدولهای دیتا بیس خودم را از طریق ویزارد اضافه می کنم و نام کانکشن ConnDB می ذارم و پروژه را Build میمنم و dll تولید شده را تو پروژه خودم اضافه می کنم و بعد تو پروژه اصلی این کارها را انجام می دم مثلا ما تو دیتابیس مون یه جدول به نام Check داریم اول یک کلاس به صورت زیر اضافه می کنم

    public class CheckCollection : ObservableCollection<Check>
    {
    private Conn_DB _Context;
    public Conn_DB Context
    {
    get { return _Context; }
    }
    public CheckCollection(IEnumerable<Check> ModelObject, Conn_DB context)
    : base(ModelObject)
    {
    _Context = context;
    }
    protected override void InsertItem(int index, Check item)
    {
    this.Context.AddToCheck(item);
    base.InsertItem(index, item);
    }
    protected override void RemoveItem(int index)
    {
    this.Context.DeleteObject(this[index]);
    base.RemoveItem(index);
    }
    }

    بعد تو کد XAML مربوط به Window بک CollectionViewSource ایجاد کرده و اون را به دیتاگرایدم بایند می کنم که به صورت زیر است
    <Window ....>
    <Window.Resources>
    <CollectionViewSource x:Key="Check_ViewSource" /></Window.Resources>
    <DataGrid Name="Check_DataGrid"
    .. ItemsSource="{Binding Source={StaticResource Check_ViewSource}}">
    بعد تو code behind مربوط به Window کد زیر را قرار می دم


    public partial class Win_Check: Window
    {
    private Conn_DB Conn_DataModel;
    private ListCollectionView View;
    private Check_Collection Check_Data;
    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
    Conn_DataModel=new Conn_DB();
    var check_ViewSource = ((CollectionViewSource)(this.FindResource("Check_ViewSource")));
    var query = (from c in Conn_DataModel.Check
    select c).ToList();
    Check_Data = new Check_Collection(query, Conn_DataModel);
    check_ViewSource.Source =Check_Data;
    this.View = ((ListCollectionView)(check_ViewSource.View));

    }
    اگر این کد ایراد داره و باعث می شه که برای اولین بار کانکت من زیاد طول بکشه ممنون می شم راهنماییم کنید با تشکر

  6. #6
    کاربر دائمی آواتار PetekDincos
    تاریخ عضویت
    آبان 1389
    محل زندگی
    توهم
    پست
    594

    نقل قول: LINQ TO SQL

    فکر نکنم ایرادی داشته باشه

  7. #7
    VIP
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    www
    سن
    40
    پست
    1,247

    نقل قول: LINQ TO SQL

    معماریتون Rapid نیست ، البته این موضوع باعث نمیشه که تکه کد بالا 5 ثانیه زمان ببره مگر اینکه حداقل بالای 1000 تا رکورد load کنید

  8. #8

    نقل قول: LINQ TO SQL

    با سلام
    نقل قول نوشته شده توسط majid325 مشاهده تاپیک
    معماریتون Rapid نیست ، البته این موضوع باعث نمیشه که تکه کد بالا 5 ثانیه زمان ببره مگر اینکه حداقل بالای 1000 تا رکورد load کنید
    چه تغییراتی تو کدم بدم که معماریم Rapid بشه و در ضمن اینکه من می خوام 60 تا جدول را به یک ORM یک جا اضافه کنم آیا تعداد رکوردهای این جدول ها در سرعت تاثیر داره یعنی اگر تعداد رکوردهای یه جدول 100000 تا با حالتی که تعداد رکوردهای جدول 100 تا است سرعتشون فرق می کنه نه در گرفتن کوئری از ORM مثلا یک کوئری 1000 رکورد برگردونه و یه کوئری دیگه 100 تا بلکه سرعتش در کانکت شدن به ORM با تشکر
    آخرین ویرایش به وسیله مهدیعای : چهارشنبه 26 آبان 1389 در 16:13 عصر

  9. #9

    نقل قول: LINQ TO SQL

    با سلام
    من چه تغییری در کدی که در پست 5 نوشتم بدم تا کدم بهینه تر بشه با تشکر

  10. #10
    VIP
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    www
    سن
    40
    پست
    1,247

    نقل قول: LINQ TO SQL

    نقل قول نوشته شده توسط مهدیعای مشاهده تاپیک
    با سلام
    چه تغییراتی تو کدم بدم که معماریم Rapid بشه
    لایه بندیتون درست نیست (MVVM)

    نقل قول نوشته شده توسط مهدیعای مشاهده تاپیک
    می خوام 60 تا جدول را به یک ORM یک جا اضافه کنم
    معمولا میگن :
    میخوام 60 تا جدول را با ORM تو سیستم Map کنم
    پس در این حالت تعداد کلاس های ایجاد شده از جداول کمتر میشه
    در کل اگه به معماری و اهداف ORM تسلط داشته باشی مشکلی نداره

    نقل قول نوشته شده توسط مهدیعای مشاهده تاپیک
    آیا تعداد رکوردهای این جدول ها در سرعت تاثیر داره یعنی اگر تعداد رکوردهای یه جدول 100000 تا با حالتی که تعداد رکوردهای جدول 100 تا است سرعتشون فرق می کنه نه در گرفتن کوئری از ORM مثلا یک کوئری 1000 رکورد برگردونه و یه کوئری دیگه 100 تا بلکه سرعتش در کانکت شدن به ORM با تشکر
    نه هیچ مشکلی نداره

  11. #11

    نقل قول: LINQ TO SQL

    با سلام دوست عزیز اگر امکانش هست یه مثال یا یه لینکی که کانکت شدن به EF را به صورت بهینه انجام می دهد در اینجا فرار بدید با تشکر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •