我有一个表,我正在尝试使用 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/