Asp.net mvc 2 创建类似“github”的;标签";特色
我注意到在github上,它们允许您创建多个标签,并将其与问题关联,如果您想过滤,可以按标签过滤 我该如何去创造这样的东西呢 我有一个任务管理器,我需要在数据库中为标签存储什么 我的过程(大声思考):创建任务,允许创建任务的用户添加标签,此标签必须来自预先定义的列表,因此一个名为UserLabels的表-我可以存储标签的位置,当用户希望向其任务添加多个标签时,我将显示此列表中的标签 我是否将标签ID作为数组存储在nvarchar(max)字段中,即: {labelid:5,labelid:6,labelid:900}Asp.net mvc 2 创建类似“github”的;标签";特色,asp.net-mvc-2,c#-3.0,github,Asp.net Mvc 2,C# 3.0,Github,我注意到在github上,它们允许您创建多个标签,并将其与问题关联,如果您想过滤,可以按标签过滤 我该如何去创造这样的东西呢 我有一个任务管理器,我需要在数据库中为标签存储什么 我的过程(大声思考):创建任务,允许创建任务的用户添加标签,此标签必须来自预先定义的列表,因此一个名为UserLabels的表-我可以存储标签的位置,当用户希望向其任务添加多个标签时,我将显示此列表中的标签 我是否将标签ID作为数组存储在nvarchar(max)字段中,即: {labelid:5,labelid:6,l
最好的方法是什么?如果您希望以适当的方式执行此操作,您需要一个表,将任务ID映射到标签ID。作为外键 这将是正确的正常化方法
就我个人而言,我的任务表中有一个字段,其中包含标签ID列表或标签本身。这实际上取决于我的标准。如果我的数据库没有受到很大的影响,我可能会在TaskLabel表中有大量的记录列表吗?我的意思是,我可以将每个任务的标记限制为3个,这将大大有助于甚至每个任务1个StackOverflow将标记存储在一个字段中,请参见posts表:这就是多对多关系在数据库中的工作方式。就像我说的,我可能会有一个带有标签ID或标签列表的varchar字段