我使用Linq而不是SQL Server数据库中的View。具体的句子如下:
var valoresFiltrados = Context.VDoNotUse_v2.Select(doNotUse => doNotUse).Where(doNotUse => doNotUse.PlatformValue.Equals(platform) && doNotUse.Bank.Equals(bank) && doNotUse.LanguageValue.Equals("CZE_CZ")).OrderBy(doNotUse => doNotUse.ID);
其中VDoNotUse是View的实体。这个sentece返回重复的值(第一个ID例如是12170,12171,12170,12171,12204 ......)并且这些值没有排序,如示例中所示。但是,如果我使用带有以下句子的SqlDataAdapter(我确信它等同于Linq),它将起作用并返回正确的值:
"SELECT * FROM VDoNotUse_v2 WHERE PlatformValue = '" + platform + "' AND Bank = '" + bank + "' AND LanguageValue = 'CZE_CZ' order by id asc"
当然,他们都使用相同的连接和数据库。
有谁知道为什么会这样?
答案 0 :(得分:0)
您需要确保已将实体数据模型中的实体密钥正确设置为您的视图。我发现默认的实体键通常是错误的。