快速演练:
- 创建一个实体数据模型(的.edmx)在Visual Studio中,并清除EDMX文件,以防止代码的 “自定义工具” 属性代
- 在您的实体数据模型中创建与您的域类相同名称的实体。实体属性也应该有相同的名称和类型,在域类
- 创建一个从
ObjectContext
继承一个类来暴露实体(通常在同一项目中的.edmx文件)
- 在这一类中,创建一个
public class SalesContext : ObjectContext
{
public SalesContext(string connectionString, string defaultContainerName)
: base(connectionString, defaultContainerName)
{
this.Customers = CreateObjectSet<Customer>();
this.Products = CreateObjectSet<Product>();
this.Orders = CreateObjectSet<Order>();
this.OrderDetails = CreateObjectSet<OrderDetail>();
}
public ObjectSet<Customer> Customers { get; private set; }
public ObjectSet<Product> Products { get; private set; }
public ObjectSet<Order> Orders { get; private set; }
public ObjectSet<OrderDetail> OrderDetails { get; private set; }
}
这就是它...
:为每个实体
示例代码的ObjectSet<TEntity>
类型的财产
重要提示:,如果您使用更改跟踪(ContextOptions.ProxyCreationEnabled
,其默认为true)自动代理的创建,您的域类的特性必须是虚拟。这是必要的,因为EF 4.0生成的代理将覆盖它们以实现更改跟踪。
如果您不想使用自动代理创建,则需要自己处理更改跟踪。详情请见this MSDN page
谢谢,我现在明白了。花了一段时间才能通过T4模板生成。 – ace 2010-06-10 04:32:31