0
我在Visual Studio項目中添加了一個新的ADO.Net EDM項目。爲什麼EDM類是偏分類
using System;
using System.Data.Entity;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Diagnostics;
namespace Rajat.Personal.EF
{
public partial class PracticeContext : DbContext
{
public PracticeContext()
: base("name=LocalContext")
{
this.Database.Log = s => Debug.WriteLine(s);
}
public virtual DbSet<User> Users { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<User>()
.Property(e => e.firstname)
.IsUnicode(false);
modelBuilder.Entity<User>()
.Property(e => e.lastname)
.IsUnicode(false);
modelBuilder.Entity<User>()
.Property(e => e.emailaddress)
.IsUnicode(false);
modelBuilder.Entity<User>()
.Property(e => e.password)
.IsUnicode(false);
}
}
}
我有2個問題
- 爲什麼PracticeContext分部類?
- 爲什麼用戶屬性是虛擬的?
他們背後的原因:(1)部分類用於將自動生成的代碼與業務邏輯代碼分開,然後將其編譯爲單個類。 (2)虛擬'DbSet'屬性實現了所謂的延遲加載機制,它可以覆蓋繼承的類。 –
建議您需要刷新OO和C#基礎知識。 – niksofteng