实体框架4.1和在现有应用程序中的实际使用

时间:2011-11-11 09:10:46

标签: c# .net entity-framework ddd-repositories

我看到很多关于EF的视频,但我仍无法找到在我的项目中使用此工具的正确方法。 在任何地方都在谈论两种情况,首先你有一个数据库而没有域模型,第二,你有DM而没有数据库。

我已经启动并运行了具有良好定义的DM和DB的应用程序。我已经定义了存储库接口,并且我使用简单的SQL查询对此存储库进行了具体实现。

现在,我已经采用了这种古老的方法,我想开始使用EF。

但是我找不到通过EF开始实现具体存储库的方法。

你能建议我采取正确的方法吗?

这是我目前情况的一个例子:

的部分摘录
public class Order : IAggregateRoot
{
    protected Order()
    {
        this._Items = new List<OrderItem>();
        this.Date = null; ;
    }

    /// <summary>
    /// Creates an order for a given customer
    /// </summary>
    /// <param name="customer">The customer</param>
    /// <returns>An order</returns>
    public static Order CreateOrder(Customer customer)
    {
        Contract.Requires<ArgumentNullException>(customer != null, "customer");

        Order order = new Order();
        order.Customer = customer;

        return order;
    }

    /// <summary>
    /// Gets or sets the ship name
    /// </summary>
    [StringLengthValidator(40)]
    public virtual string ShipName { get; set; }

订单存储库界面

/// <summary>
/// Represents the repository of objects of type Order
/// </summary>
public interface IOrderRepository : IRepository<Order>
{
}

存储所有这些内容的数据库表有一个奇怪的命名约定(荷兰语),称为ordenen,列中有特定的名称等。

现在我如何通过EF实现存储库?

欢迎任何建议!

干杯!

1 个答案:

答案 0 :(得分:0)

asp.net网站上有一个非常简洁的教程,可帮助您使用EF 4.1 Code-first或POCO启动和运行。它是MVC Music Store,可以帮助您在不超过一天的时间内理解所有内容。

使用EF,存储库和测试来详细构建应用程序。你可以浏览史蒂文桑德森这本名为PRO Asp.net MVC3的书