0

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

我也有MVC5申请。这两个项目都绑定到一个解决方案。相当标准的设置。

在我的DAL项目中,我有一个简单的存储库,它返回TopicDB. 我的代码如下所示:

存储库:

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程序集以停止错误。我已经Data在我的MVC项目中包含了我的程序集,所以我很好奇为什么我的MVC项目关心?我只是返回一个Topic. 为什么我的MVC项目需要访问Telerik.OpenAccess?我怎样才能避免这种情况。我不想让我的MVC项目知道Telerik.

4

1 回答 1

1

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

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

在这里您可以找到使用 Telerik OpenAccess ORM Fluent Model 的完整配置。

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

于 2014-01-13T08:17:39.737 回答