מדריך SQLite Entity Framework CodeFirst
-
בס"ד
במדריך זה נלמד כיצד להשתמש במסד נתונים SQLite כאשר המתווך שלנו הוא Entity Framework וכל זה בשיטת CodeFirst
-
נפתח פרוייקט קונסולה חדש למשל עם השם SQLiteDemo, ונשמור אותו [אחרת לא נוכל להריץ פקודות בקונסולת NuGet]
-
בקונסולה של NuGet נריץ 3 פקודות
Install-Package SQLite.CodeFirst
Install-Package System.Data.SQLite.EF6
Install-Package System.Data.SQLite -
בקובץ app.config נוסיף את מחרוזת ההתקשרות תחת configuration:
<connectionStrings>
<add name="MyDbContextDB" connectionString="data source=.\db\MyDbContextDB.sqlite;" providerName="System.Data.SQLite" />
</connectionStrings> -
בקובץ הנ"ל תחת providers להוסיף את השורה הבאה:
<provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
-
הקוד יראה כך:
using SQLite.CodeFirst; using System.Data.Entity; namespace SQLiteDemo { class Program { static private MyDbContext _MyDbContext; static void Main(string[] args) { _MyDbContext = new MyDbContext(); _MyDbContext.People.Load(); } } public class Person { public int Id { get; set; } public int FirstName { get; set; } } public class MyDbContext : DbContext { public MyDbContext() : base("MyDbContextDB") { } protected override void OnModelCreating(DbModelBuilder modelBuilder) { var sqliteConnectionInitializer = new SqliteCreateDatabaseIfNotExists<MyDbContext>(modelBuilder); Database.SetInitializer(sqliteConnectionInitializer); } public DbSet<Person> People { get; set; } }
}
-
זהו, כעת לקמפל ולהריץ, המנגנון של EF יצור בעצמו קובץ מסד נתונים עם הטבלה שהגדרנו, ממש תענוג.
פורסם במקור בפורום CODE613 ב27/03/2017 23:32 (+03:00)
-
-
רחמים, המדריך עזר לי, תודה רבה!
שינוי בבנאי של הקונטקסט במקרה שצריך ניהול קונקשנים דרך הקוד:public MyDbContext(string file_path) : base(new System.Data.SQLite.SQLiteConnection() { ConnectionString = $"data source={file_path}_data.sqlite" }, true) { }
פורסם במקור בפורום CODE613 ב27/04/2017 09:46 (+03:00)