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

نام تاپیک: کار با Sqlite و Access توسط Entity Framework

  1. #1

    کار با Sqlite و Access توسط Entity Framework

    سلام دوستان
    من با تکنولوژی EF هم CodeFirst و هم DatabaseFirst کد نویسی میکنم و مشکل خاصی ندارم
    تنها مشکلم اینه که نمیتونم به sqlite و access (MDB 2003) وصل بشم. توی سایت های خارجی هم جستجو کردید و نمونه هایی که برای sqlite وجود داشت رو تست کردم ولی بازم نشد
    دوستانی که تجربه کار مخصوصاً با sqlite رو دارند خواهش میکنم کمک کنند و اگر سورس تست شده یا منبعی دارن ممنون میشم در اختیارم بذارن
    پیشاپیش از وقتی که میذارید ممنونم

  2. #2

    نقل قول: کار با Sqlite و Access توسط Entity Framework

    نقل قول نوشته شده توسط Shadow_net مشاهده تاپیک
    سلام دوستان
    من با تکنولوژی EF هم CodeFirst و هم DatabaseFirst کد نویسی میکنم و مشکل خاصی ندارم
    تنها مشکلم اینه که نمیتونم به sqlite و access (MDB 2003) وصل بشم. توی سایت های خارجی هم جستجو کردید و نمونه هایی که برای sqlite وجود داشت رو تست کردم ولی بازم نشد
    دوستانی که تجربه کار مخصوصاً با sqlite رو دارند خواهش میکنم کمک کنند و اگر سورس تست شده یا منبعی دارن ممنون میشم در اختیارم بذارن
    پیشاپیش از وقتی که میذارید ممنونم
    سلام برای کار با کدفرست از ناگت پکیج هارو نصب کنید
    Install-Package System.Data.SQLite
    Install-Package SQLite.CodeFirst

    فایل app.config رو باز کنید و این پروایدر رو اضافه کنید
    <provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderService  s, System.Data.SQLite.EF6" />



    در نهایت کانکشن استرینگ رو اضافه کنید
    <connectionStrings>
    <add name="default" connectionString="data source=app.db;" providerName="System.Data.SQLite" />
    </connectionStrings>

    یه کلاس بسازید و جدول خودتون رو ایجاد کنید
    [Table("Users")]
    public class User
    {
    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity )]
    public long Id { get; set; }

    [Required]
    public string Name { get; set; }

    [Required]
    public DateTime Created { get; set; }
    }

    یه کلاس کانتکس بسازید و کدهارو بنویسید
    public class TestDbContext : DbContext
    {
    public virtual DbSet<User> Users { get; set; }

    public TestDbContext()
    : base("default")
    { }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
    var sqliteConnectionInitializer = new SqliteCreateDatabaseIfNotExists<TestDbContext>(mod elBuilder);
    Database.SetInitializer(sqliteConnectionInitialize r);

    }
    }

    کار تمومه میتونید دیتابیس رو فراخوانی کنید تا دیتابیس ایجاد بشه
    var db = new TestDbContext();
    var users = db.Users.ToList();

    اگر هم میخواید که از ویژگی های تغییر مدل و... استفاده کنید کلاس کانتکس رو به این صورت تغییر بدید
    public class MyDbContextInitializer : SqliteDropCreateDatabaseWhenModelChanges<TestDbCon  text>
    {
    public MyDbContextInitializer(DbModelBuilder modelBuilder)
    : base(modelBuilder) { }

    protected override void Seed(TestDbContext context)
    {
    context.Users.Add(new User
    {
    Name = "Richard Niemand",
    Created = DateTime.Now
    });

    base.Seed(context);
    }
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
    var sqliteConnectionInitializer = new MyDbContextInitializer(modelBuilder);
    Database.SetInitializer(sqliteConnectionInitialize r);
    }

  3. #3

    نقل قول: کار با Sqlite و Access توسط Entity Framework

    ممنونم دوست عزیز
    ولی بازم ارور داد
    میشه خواهش کنم فایل رو به صورت سورس اینجا آپلود کتید؟
    خیلی ممنون

  4. #4

    نقل قول: کار با Sqlite و Access توسط Entity Framework

    نقل قول نوشته شده توسط Shadow_net مشاهده تاپیک
    ممنونم دوست عزیز
    ولی بازم ارور داد
    میشه خواهش کنم فایل رو به صورت سورس اینجا آپلود کتید؟
    خیلی ممنون
    یعنی چی ارور داد؟ دات نت پروژه باید روی 4 یا بالاتر باشه متن خطا بزارید

  5. #5

    نقل قول: کار با Sqlite و Access توسط Entity Framework

    سلام
    دات نت من روی 4.7.1 هست و ارور زیر رو میده:
    The ADO.NET provider with invariant name 'System.Data.SQLite' is either not registered in the machine or application config file, or could not be loaded. See the inner exception for details.
    Inner Expception:
    Unable to find the requested .Net Framework Data Provider. It may not be installed.

    پروژه رو آپلود کردم فقط پوشه Package و Debug رو حذف کردم چون حجمش نزدیک 66 مگ بود
    ممنون از وقتی که میذارید
    فایل های ضمیمه فایل های ضمیمه

  6. #6

    نقل قول: کار با Sqlite و Access توسط Entity Framework

    نقل قول نوشته شده توسط Shadow_net مشاهده تاپیک
    سلام
    دات نت من روی 4.7.1 هست و ارور زیر رو میده:
    The ADO.NET provider with invariant name 'System.Data.SQLite' is either not registered in the machine or application config file, or could not be loaded. See the inner exception for details.
    Inner Expception:
    Unable to find the requested .Net Framework Data Provider. It may not be installed.

    پروژه رو آپلود کردم فقط پوشه Package و Debug رو حذف کردم چون حجمش نزدیک 66 مگ بود
    ممنون از وقتی که میذارید
    فرصت بررسی پروژه شمارو ندارم مطمئن شید که هر دو پکیج نصب شده باشن
    Install-Package System.Data.SQLite
    Install-Package SQLite.CodeFirst
    دات نت پروژه رو حداقل رو 4.5 قرار بدید تست کنید
    بیلد پروژه رو بر روی anycpu قرار بدید

تاپیک های مشابه

  1. مبتدی: استفاده از Entity Framework برای کار با sqlite در #C
    نوشته شده توسط mobinsoft111 در بخش C#‎‎
    پاسخ: 7
    آخرین پست: دوشنبه 29 اردیبهشت 1393, 21:10 عصر
  2. سوال: ثبت رکورد در sql با asp.net توسط entity framework
    نوشته شده توسط tina.net در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: چهارشنبه 20 شهریور 1392, 09:50 صبح
  3. آموزش: فیلم آموزشی :: کار با بانک اطلاعاتی به روش Entity FrameWork
    نوشته شده توسط JaVa در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 1
    آخرین پست: سه شنبه 20 فروردین 1392, 10:22 صبح
  4. آموزش: فیلم آموزشی :: کار با بانک اطلاعاتی به روش Entity FrameWork
    نوشته شده توسط JaVa در بخش VB.NET
    پاسخ: 1
    آخرین پست: دوشنبه 12 فروردین 1392, 09:42 صبح

برچسب های این تاپیک

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

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