.net – 数据绑定到LINQ到实体时的重复行
|
我有问题绑定一个telerik RadGrid和一个简单的vanilla ASP.NET GridView到以下LINQ到实体查询的结果.在这两种情况下,网格都包含正确的行数,但是所有其他行中仅复制第一行的数据.我直接从这个代码中分配返回值,即网格上的DataSource属性. public IEnumerable<DirectoryPersonEntry> FindPersons(string searchTerm)
{
DirectoryEntities dents = new DirectoryEntities();
return from dp in dents.DirectoryPersonEntrySet
where dp.LastName.StartsWith(searchTerm) || dp.Extension.StartsWith(searchTerm)
orderby dp.LastName,dp.Extension
select dp;
}
ADDED:这是替代的纯ADO.NET代码,其工作原理是: DataTable ret = new DataTable();
using (SqlConnection sqn = new SqlConnection(ConfigurationManager.ConnectionStrings["WaveAdo"].ConnectionString))
{
SqlDataAdapter adap = new SqlDataAdapter("select * from DirectoryPersonList where LastName like '" + searchTerm + "%' order by LastName ",sqn);
sqn.Open();
adap.Fill(ret);
}
return ret;
更多: >通过LINQ工作发送到SQL Server的查询. 更新: 这确实是重复的原因.如果只有我可以更改或删除实体密钥,但是这个具有Etch-a-Sketch的所有业务逻辑的EF设计师都非常钦佩重复它的延迟选择,同时嘲笑我锁定外面乞求改变密钥. 解决方法它看起来像我有一个borked主键. LINQ-to-SQL和EF的“身份管理”方面意味着,只要它看到相同的对象类型的主键值,它就不得不给同一个实例.例如,给出数据: id | name | ... -------+------------+------ 1 | Fred | ... 2 | Barney | ... 1 | Wilma | ... 1 | Betty | ... 那么如果它认为id是从LINQ迭代对象时的主键,它被迫给你“Fred”,“Barney”,“Fred”,“Fred”.从本质上讲,当它再次看到id 1时,它甚至没有看到其他列 – 它只是从标识缓存中读取ID为1的实例,并为您提供与之前相同的Fred实例.如果不认为id是主键,它会将每一行视为一个单独的对象(如果在其中一个字段中具有与另一个记录相同的值,那么这不是完全不寻常的). 我建议检查您标记为主键(在您的DBML / EDM模型中)的任何字段在每行中是否唯一.在上述情况下,id列显然不表示唯一标识符,因此不适合作为主键.在LINQ-to-SQL / EF设计器中,只需取消标记. 更新:特别是在设计器中查看各种属性的“实体密钥”属性 – 特别是在查询视图时.检查“实体密钥”是否只适用于合适的列(即使行唯一的列).如果设置不正确,请将其设置为false.这也是黄色键图标可见 – 这应该只出现在真正是记录的唯一标识符的东西上. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 在aspnet核心1应用程序的逻辑层中获取ClaimsPri
- asp.net-core – 从与xproj相同的解决方案引用csproj
- asp.net-mvc – 路由:如何在url中隐藏动作名称?
- asp.net-mvc-4 – 覆盖用于MVC4应用程序的User.IsInRole和[
- asp.net-mvc – ASP.NET MVC RenderAction重新呈现整个页面
- 在asp.net应用程序中启用c#7
- asp.net-mvc – 如何从对象HtmlAttributes中获取值
- asp.net – Jquery Ajax,不在Internet Explorer中工作
- 要监控已部署的ASP.NET Web应用程序的关键性能指标是什么?
- .net – 设置runat = server时输入名称和ID更改
- asp.net-mvc-3 – Razor reseverd words
- asp.net-mvc – 到Spark还是不Spark?
- asp.net-mvc – 数以千计的重定向不好SEO?
- asp.net-mvc – RouteValueDictionary的字符串UR
- asp.net-mvc – 如何单元测试返回ContentResult的
- ASP.NET 5 API – Azure AD B2C
- asp.net-mvc – 强大的html帮助程序,具有不同的g
- IIS 7.5 ASP.NET-4 Gzip压缩
- asp.net-mvc – 如何使用MVCSiteMap进行隐式本地
- asp.net-mvc – 为什么ASP.NET MVC默认的模型绑定
