C# 如何从sql server中选择二维数据
我有一个包含以下数据的sql server表:C# 如何从sql server中选择二维数据,c#,sql,C#,Sql,我有一个包含以下数据的sql server表: PrimaryKey ForeignKey DataType Value 1 1 Actor abc 2 1 Movie efg 3 1 Movie hij 4 2 Actor mno 5 2
PrimaryKey ForeignKey DataType Value
1 1 Actor abc
2 1 Movie efg
3 1 Movie hij
4 2 Actor mno
5 2 Movie pqr
6 2 Movie stu
7 2 Movie vwx
我想从这个表中选择数据并加载一个名为Actors的Csharp类。该类有一个名为ActorName的属性和演员的电影集合。本质上,我必须用Value列中的数据填充ActorName,并从Value列中收集演员的所有电影名称,然后填充集合。我不知道如何做到这一点,尤其是如何编写适当的SQLSELECT语句
谢谢正如其他人指出的那样,您需要重构数据库。如果不可能,可以发出以下SQL语句,该语句使用自联接: 这将返回类似于
Actor Movie
abc efg
abc hij
mno pqr
mno stu
etcetera
制作一些SQL表
1-电影电影ID、电影名称
2-演员ActorId、电影ID、演员姓名
这两个表应该有关系。Actors.MovidId应连接到Movies.MovieId
我建议你使用
var retVal=来自dataContext中的s。电影选择s.ToList
retVal返回Movies表,这意味着您获得了MovieId、Movie\u Name
然后你可以用这个列表做任何事情。检查这里我是否了解您的演员和电影在同一张表中?另外,外键与什么有关?您可能需要重构数据库。我知道演员和他的电影之间的关系在哪里?我不会将MovieId放在演员表中。最好有一个链接表:MovieId,ActorId@PaulG我知道,有很多方法可以做到这一点。你是对的,这可能是解决办法:我只是建议了一个场景
Actor Movie
abc efg
abc hij
mno pqr
mno stu
etcetera