繁体   English   中英

实体框架和SQL Server 2008 Express

[英]Entity Framework & SQL Server 2008 Express

我是Entity Framework的新手,并且已经读了一些书,作为测试,我仅用两个小实体组成了一个非常简短的测试框架。 然后,我右键单击并选择“从模型生成数据库”,该页面将我带到“ SQL连接”页面。 但是,我以前使用的任何连接都不会出现在下拉列表中,并且当我选择“创建新连接”时,我只有使用“ SQL Server Compact 3.5”或“ SQL Server数据库文件”的选项。

我之前使用SQL Express遇到过这种情况,解决方法是创建自己的连接字符串以访问所需的数据库。 但是,使用我使用Entity Framework创建数据库时,不可能编写适当的连接字符串。

因此,我似乎处于Catch 22的情况。

  1. 在创建数据库之前,我无法编写连接字符串。
  2. 如果不访问SQL Server(通过连接字符串),就无法从EF创建数据库。

任何人都会遇到这个问题,或者可以指出我做错了什么。 就像我说的那样,我对EF完全陌生,因此,如果这是一个非常基本的问题,我深表歉意。

除非要在用户实例中使用数据库文件,否则需要使用SQL Management Studio Express或使用SQLCMD命令行工具来创建数据库。 我建议使用SQL Management Studio Express,因为我认为它很容易学习。

实体框架工具旨在用于创建数据库架构 ,而不是数据库本身。 您仍然需要定义文件组,安全性信息以及创建和配置空白数据库的其他基础知识。

有关适当的链接,请参见此问题解答:

如何使用SQL命令在SQL Express中创建数据库?

感谢@psuedocoder,您的帮助帮助我解决了问题。 最后的答案很简单,但对我来说却不直观,因此很困难。 我认为对答案的详细阐述可能会对像我一样对Entity Framework同样陌生的其他人有所帮助。

从Visual Studio

  1. 在Visual Studio中创建您的EF模型。
  2. 右键单击模型画布,然后选择“从模型生成数据库”。
  3. 然后要求您选择数据库连接。 选择“新连接”。
  4. 在“添加连接”对话框中,而不是在现有数据库的“浏览”中,只需在“数据库”文本框中键入新数据库的名称,然后单击“连接”。
  5. 当您尝试连接时,您会收到一条警告,指出该数据库不存在,但系统会询问您是否要VS“创建它”。 选择是。

正如@psuedocoder指出的那样,这实际上并没有在SQL Server中创建数据库,但确实在VS解决方案中创建了一个对象,该对象包含创建数据库所需的TSQL脚本。

从SSMS

  1. 转到SQL Server Management Studio并创建一个空白数据库,其名称与上述步骤4中使用的名称相同。
  2. 在SSMS中,选择打开文件,然后导航到包含VS解决方案文件的Windows文件夹。
  3. 打开TSQL脚本文件。 这将具有一个DB脚本图标,并具有一个.edmx扩展名。
  4. 单击执行,您将根据EF模型创建新数据库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM