我是asp.net mvc的新手,所以请尽可能明确。
这是我的目标:
我想创建一个简单的网站,用户可以:
稍后在网站上,我将创建使用此数据的其他页面,但目前只需要上面的项目。
我的问题是,我一直在审查创建新的asp.net mvc应用程序时出现的默认asp.net mvc示例。
我想弄清楚我是否应该将aspnetdb.mdf数据库中的所有联系人详细信息存储在现有表中,或者我应该创建新表。
似乎我可以扩展aspnet_Users或aspnet_membership。
请告诉我这些表是否可以扩展到存储其他字段,或者更安全,只需在此数据库中创建新表。
答案 0 :(得分:3)
您可以使用Asp.net profile provider来存储信息。请按照链接获取有关使用内置SqlProfileProvider的说明。默认情况下,SqlProfileProvider将在aspnetdb.mdf文件中创建表,因此您可以将所有内容保存在一个位置。您可以在HttpContext上作为属性访问配置文件提供程序。
修改:ASP.Net profile information
的更好链接使用配置文件提供程序,您不必担心进行数据库调用或识别当前用户。这一切都是代表你完成的。仔细检查文档,因为以下内容可能稍微偏离。
您可以在<system.web>
内的web.config中添加所需的字段。在您的情况下,它将是必要的联系信息。
<profile>
<properties>
<add name="Address" />
<add name="City" />
<add name="State" />
<plus other fields ... />
</properties>
</profile>
然后,您可以访问HttpContext.Profile.Address等等,提供程序将负责将所有内容绑定到当前用户。
添加和编辑信息意味着显示表单。查看详细信息只显示您从上一个表单发布中保存的所有字段。
答案 1 :(得分:0)
您可能还想查看找到here的SQL Server发布向导。
它实质上允许您将数据库结构和/或数据复制到.sql文件,然后可以将其导入主SQL数据库。
我不是特别喜欢aspnetdb方法,但那是我个人的意见。
答案 2 :(得分:0)
这个问题一直是我内部辩论的一个原因。我可以看到扩展现有成员资格提供程序以保存必要的附加信息的逻辑,但是如果这是所采用的路径,我只会使用aspnetdb数据库存储此信息,因为在我看来,该数据库的目的是存储由ASP.NET通过Membership API
创建的信息如果您决定不扩展asp.net现有的成员资格提供者,那么我建议创建另一个数据库,或者至少建议一些新表来保持您管理的数据与ASP管理的任何其他数据分开。 NET