具有现有域模型的实体框架4
我目前正在考虑从流利的nHibernate迁移到ADO.Net Entity Framework 4。
我有一个包含我用于nHibernate映射的域模型(pocos)的项目。 我已经在博客中读到可以在EF4中使用现有的领域模型,但我没有看到它的例子。 我见过使用EF4生成T4代码的例子,但还没有找到一个例子来说明如何在EF4中使用现有的领域模型对象。 我是EF4的一个新手,希望看到一些关于如何完成这个任务的范例。
感谢Aiyaz
快速演练:
ObjectContext
继承的类来公开实体(通常在与.edmx文件相同的项目中) ObjectSet<TEntity>
类型的属性 示例代码:
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; }
}
就是这样...
重要提示:如果您使用自动代理创建进行更改跟踪( ContextOptions.ProxyCreationEnabled
,默认情况下为true),则您的域类的属性必须是虚拟的 。 这是必要的,因为EF 4.0生成的代理将覆盖它们以实现更改跟踪。
如果您不想使用自动代理创建,则需要自己处理更改跟踪。 有关详细信息,请参阅此MSDN页面
链接地址: http://www.djcxy.com/p/60267.html