1

我正在使用 EF 4 从视图中选择行。这是从视图中进行的简单选择操作。由 VS 2010 生成的 edmx 中的存储模式说它有多个主键,这很好。我提供的条件是检查 ProductId 是否相同。代码类似于以下内容:

var returnedResult=ctx.vw_MyProductList.Where(x=>x.ProductName.Equals(suppliedProductId, StringComparision.OrdinalIgnoreCase)).ToList();

视图中有两条符合条件的记录。它返回两条我所期望的记录。但问题是它两次返回相同的第一条记录。看起来框架知道有两条记录,但是在行中的某处它将第一条记录复制到下一条记录并返回。

我签入了 SQL 探查器,将其复制并在 SQL-Server Mgmt Studio 中执行,它按预期正确返回了行。

这对我没有任何意义,除非我做错了什么。我删除了 .edmx 并重新开始,但没有用。这只是一个针对视图的简单选择语句。

看起来 EF 处理针对 Views 的语句有点不同,是吗?

4

0 回答 0