使用MVC 4,数据库上下文视图对象无法正常工作

时间:2012-11-16 15:18:26

标签: asp.net-mvc asp.net-mvc-3 entity-framework entity-framework-4

在MVC中使用实体框架视图时,我在代码中遇到了一个非常奇怪的问题。我只是怀疑将问题归结为使用View,因为我在使用Tables时没有问题。

我的视图称为LoadAuditStats_Report,索引的控制器代码为:

    private readonly RepositoryDBContext _repository = new RepositoryDBContext();
    public ActionResult Index()
    {
        var stats = _repository.LoadAuditStats_Report;

        return View(stats);
    }

视图中的数据示例如下:

enter image description here

如果我从Controller中检查示例的结果输出,我将获得3条记录,但所有3条记录的数据将重复第一条记录。因此,在这种情况下,所有3条记录将具有相同的PackageAuditId 700字段值。

这真的很奇怪,因为我在使用Tables时从未见过这个问题所以我不得不怀疑EntityFramework4在与视图相关时是否存在与MVC3接口的问题?

我应该避免使用EntityFramework Views吗?或者在使用EntityFramework Views时是否应该考虑其他内容?

1 个答案:

答案 0 :(得分:2)

视图在EF中也有一个主键。如果键由不是唯一的字段组成,则可以在结果集中获得重复的行。因此,您应该调查视图并确定哪些列唯一标识其行,并告诉EF将这些列用作主键。