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