数据库上下文视图对象未按预期随着MVC 4(Database Context View Object

2019-07-03 21:32发布

我使用的是实体框架视图在MVC的时候在我的代码经历一个非常特殊的问题。 我只是怀疑的问题归因于使用搜索的,因为使用表时,我没有问题。

我的看法是叫LoadAuditStats_Report和控制器代码的指数为:

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

        return View(stats);
    }

在视图中的数据的一个例子是:

如果我检查所得到的来自控制器的例子的输出我会得到3条记录,但所有3所记录的数据将是第一个记录的重复。 所以在这种情况下,所有3个记录有PackageAuditId 700相同的字段值。

这真是奇怪,因为使用表时,让我不得不怀疑是否有一些问题与EntityFramework4与MVC3接口,当它涉及到浏览我从来没有见过这个问题?

我应该从使用的EntityFramework意见的避免或者是有什么额外的,我应该考虑到与他们一起工作的时候?

Answer 1:

视图还具有在EF主键。 如果密钥由现场的是没有真正独特的,你可以得到结果集中的重复行。 所以,你应该调查的看法,并决定哪些列唯一标识其行,并告诉EF使用这些列作为主键。



文章来源: Database Context View Objects Not Working as Expected With MVC 4