在ASP.NET MVC中创建对用户的外键引用

时间:2012-06-17 10:40:27

标签: asp.net asp.net-mvc-3 asp.net-membership

我是ASP.NET MVC的新手并且在一个小项目中工作,我在其中有一个名为Tests的表,我想在其中添加一个外键引用到UserID aspnet_Users表。

这是最好的方法吗?有没有推荐的方法呢?

我的测试模型中是否应该有Guid属性:

public virtual Guid UserID { get; set; }

或者拥有导航属性更好:

public virtual ???? User { get; set; }

这是执行此操作的最佳方式以及有关如何实现此操作的任何提示?

提前谢谢!

1 个答案:

答案 0 :(得分:1)

由于UserID中的sapnet_Users确实是Guid(SQL Server表中的uniqueidentifier),所以是 - 如果您想引用特定用户,您需要有Guid值。

如果您希望直接引用User类型的导航属性,则需要确保在应用中使用User作为类型,并且可能需要指定FK约束名称(在您拥有的任何数据模型中)。

我认为,这两种方法都有效。如果你只需要设置Guid而不需要其他任何东西 - 方法#1就好了。

如果您需要读出(并可能设置)User类的其他属性 - 那么我认为方法#2将是更好的选择,即使它稍微涉及/更多的努力你的部分