【问题标题】:Why must I include the Telerik ORM assembly in my MVC project when I have already included the Data layer?既然我已经包含了数据层,为什么还要在我的 MVC 项目中包含 Telerik ORM 程序集?
【发布时间】:2014-01-12 22:33:00
【问题描述】:

我正在尝试在我的网站上运行 Telerik ORM 的简单示例。我有一个DAL,它是一个单独的 Visual Studio 项目。

我还有一个MVC5 应用程序。这两个项目都绑定到一个解决方案。相当标准的设置。

在我的DAL 项目中,我有一个简单的存储库,它返回从DB 检索到的Topic 类型的对象。我的代码如下所示:

存储库:

public class Repository
{
    public Topic Get(int id)
    {
        var fluentModel = new FluentModel();
        return fluentModel.Topics.Where(t => t.Id == 1).FirstOrDefault();
    }

}

主题:

public class Topic
{
    public int Id { get; set; }
    public string Headline { get; set; }
}

当我在控制器中调用存储库时:

public ActionResult Index()
{
    var repository = new Repository();
    Topic x = repository.Get(1);    
    return View();
}

在编译时,我的 MVC 项目抛出错误。我需要包含Telerik.OpenAccess 程序集以停止错误。我已经在我的MVC 项目中包含了我的Data 程序集,所以我很好奇为什么我的MVC 项目在乎?我只是返回一个Topic。为什么我的MVC 项目需要访问Telerik.OpenAccess?我怎样才能避免这种情况。我不想让我的MVC 项目知道Telerik

【问题讨论】:

    标签: asp.net-mvc telerik telerik-open-access


    【解决方案1】:

    Telerik OpenAccess ORM 在您的模型程序集中使用构建后步骤注入代码,提供持久功能、更改跟踪和延迟加载功能。

    这是通过一个名为 OpenAccessEnhancer 的工具实现的,为了使用 enhanced 项目,您需要 Telerik.OpenAccess Telerik.OpenAccess.35.Extensions 在您的 MVC 项目(以及在使用您的模型的任何其他项目)中的程序集引用。

    Here你可以找到使用 Telerik OpenAccess ORM Fluent Model 的完整配置。

    关于 Telerik OpenAccess ORM 的示例 - 我建议您查看 OpenAccess Samples Kit 中的端到端示例,尤其是其 ASP.NET MVC 部分。您可以在带有数据注释的 AJAX 示例应用程序中找到 UnitOfWork、存储库和服务模式实现的推荐方法。

    【讨论】:

      猜你喜欢
      • 2015-02-15
      • 1970-01-01
      • 1970-01-01
      • 2015-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-09
      相关资源
      最近更新 更多