在对带有和不带有以下包的 MVC 4 项目进行了一些试验之后
- Microsoft ASP.NET 网页 2 数据
- Microsoft ASP.NET 网页 2 Web 数据
我得出的结论是 Nuget 包描述
此包包含 ASP.NET 网页的运行时程序集。ASP.NET 网页和新的 Razor 语法提供了一种快速、简洁、干净和轻量级的方式来将服务器代码与 HTML 相结合,以创建动态 Web 内容。
非常具有误导性。
Microsoft ASP.NET Web Pages 2 Data 实际上只包含 WebMatrix.Data.dll。这是添加此包时添加到项目中的唯一程序集。查看此程序集的MSDN 参考
WebMatrix.Data 命名空间包含简化 ASP.NET 网页中的数据库交互的类。此命名空间包括帮助您打开、查询和向数据库发送命令以及处理 SQL 查询返回的数据库行的类。
而对于Microsoft ASP.NET Web Pages 2 Web Data,这个包只添加了WebMatrix.DataWeb.dll(依赖于WebMatrix.Data.dll)。此程序集的MSDN 参考是
WebMatrix.WebData 命名空间包含简化 ASP.NET 网页中的成员资格和安全性的类。此命名空间包括帮助您创建和删除用户帐户、定义角色和管理帐户密码的类。
因此,如果不使用 WebMatrix Data 访问数据库并且不使用简单的成员资格提供程序,则这些包是不必要的。
如果您正在使用 Simple Membership 提供程序,或扩展 Extended Membership 提供程序,那么这些包是必需的。