c# - 当记录应该是唯一的时重复记录

标签 c# linq

我有一个表,我正在尝试使用 Linq to SQL 查询

表格非常简单,只有 5 列:

 - PersonID
 - ADID
 - Name
 - PlaceID
 - PlaceName

我的表中有 2 条记录,两条记录中的 PersonID 相同,但 PlaceID 和 PlaceName 值不同:

001 | 001 | Person X | P01 | Place 1
001 | 001 | Person X | P02 | Place 2

当我在 SQL 中查询时,我得到了 2 行:

select * from myTable where PersonID = '001'

但是,当我尝试在 LINQ 中执行此操作时:

List<myTable> PersonInfo = (from myInfo in db.myTable 
where myInfo.PersonID == "001"
select myInfo).ToList();

我在 PersonInfo 中得到 2 的计数,但它们是同一条记录。我做错了什么?

最佳答案

我发现第一个 Entity Framework 需要一个主键才能正常运行。在研究了我正在使用的表后,我发现有一个主键,但它是一个组合键,所以一旦我在两列上放置“实体键”,我的选择语句就会返回正确的数据。

感谢@GertArnold 和所有帮助我解决这个问题的人!

关于c# - 当记录应该是唯一的时重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21443910/

相关文章:

c# - 模式识别霍普菲尔德

c# - 如何减少执行时间?

c# - 为什么我的代码在每个可能的点都关闭它后仍然在进行延迟加载?

c# - 在 ASP.NET 4 Web 应用程序中支持多种身份验证策略

c# - 使用 System.WebClient 捕获 500 内部服务器错误

c# - 如何将 List<T> 拆分为两个列表,一个包含所有重复值,另一个包含其余值?

c# - 使用 LINQ 在 ASP.NET MVC 中传递数据 - 疯狂

c# - Linq order by with cast as

c# - ThreadPool 在这种情况下值得吗?

c# - 使用 api v3.0 获取 YouTube 视频的评论线程