改变asp.net mvc框架自动生成的数据库不是个好主意吗?

改变asp.net mvc框架自动生成的数据库不是个好主意吗?,asp.net,visual-studio-2008,asp.net-mvc-beta1,Asp.net,Visual Studio 2008,Asp.net Mvc Beta1,将列添加到自动生成的asp.net(ASPNETDB.MDF,visual studio 2008,mvc framework)“用户角色-数据库”中是一个坏主意吗(如果是为什么?) (例如,我想将列RealName和LastName添加到数据库的aspnet_Users表中。) 我之所以要添加一列而不是创建一个完整的新表,是为了避免双重维护问题和不必要的冗余在我看来,自动生成的数据库应该被应用程序数据库中的普通表所取代,或者至少应该有一个正式的解决方案来解决这个问题 我听说这是一个很好的解决方

将列添加到自动生成的asp.net(ASPNETDB.MDF,visual studio 2008,mvc framework)“用户角色-数据库”中是一个坏主意吗(如果是为什么?)

(例如,我想将列RealName和LastName添加到数据库的aspnet_Users表中。)


我之所以要添加一列而不是创建一个完整的新表,是为了避免双重维护问题和不必要的冗余

在我看来,自动生成的数据库应该被应用程序数据库中的普通表所取代,或者至少应该有一个正式的解决方案来解决这个问题


我听说这是一个很好的解决方案:

为什么不创建一个带有外键约束的新表呢?在aspnetdb中添加一列似乎是个坏主意……如果您需要重新创建数据库,那将是一场噩梦

使用了两种发电方案(从):

  • 一次用于生成代码的
  • 那些一直用于同步某些代码的
对于用于同步的结果,不应修改它们,因为它们可能在以后再次生成时被覆盖

对于生成的asp.net数据库,您没有理由重新运行生成,因此可以对其进行编辑


如果microsoft发布了新版本的用户数据库,并且您希望使用新版本(在这种情况下,您可能需要编辑应用程序的某些部分,以便读取这两个字段),或者您希望使用不同的选项重新生成数据库,则您可以重新运行数据库生成。如果您对当前数据库不满意,这两种情况都会发生。

首先,这些表实际上不是MVC特有的:它们是由/默认创建的。(也适用于其他类型的ASP.NET应用程序。)

您可能可以安全地添加新列,但成员资格提供者不会“看到”它们。它确实提供了配置文件机制来存储额外的信息(这些信息被序列化并存储在aspnet_Profiles表中)

如果需要存储大量有关用户的附加信息,还可以查看将配置文件信息存储在一级表中,而不是在配置文件blob中