我有一个名为评论的表。每个评论我都有评论ID,。
在我的用户界面上我可以为每个用户添加多个评论..因此评论ID需要存储为1,2,3,...等等...这意味着我添加了1 2 3评论ID为用户..
如何将这些逗号分隔的值存储到表列中?
由于
答案 0 :(得分:6)
别。使用包含UserID和CommentID列的连接表将用户与其注释相关联。然后,您可以获得User
,UserComments
和Comments
表之间具有三向联接的用户的评论集。
select Comments.*
from Users inner join UserComments on Users.UserID == UserComments.UserID
inner join Comments on UserComments.CommentID == Comments.CommentID
where Users.UserID == @userid
其中@userid是相关用户的ID。
使用LINQ,您只需要引用正确的实体集,并且可能使用SelectMany
。
var comments = context.Users
.Where( u => u.UserID == userid )
.SelectMany( u => u.UserComments
.SelectMany( uc => uc.Comments ) );