如何使用asp.net mvc以逗号分隔的表列中存储int值

时间:2010-11-18 16:28:47

标签: linq-to-sql database-design

我有一个名为评论的表。每个评论我都有评论ID,。

在我的用户界面上我可以为每个用户添加多个评论..因此评论ID需要存储为1,2,3,...等等...这意味着我添加了1 2 3评论ID为用户..

如何将这些逗号分隔的值存储到表列中?

由于

1 个答案:

答案 0 :(得分:6)

别。使用包含UserID和CommentID列的连接表将用户与其注释相关联。然后,您可以获得UserUserCommentsComments表之间具有三向联接的用户的评论集。

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 ) );