尽管有一些小问题和一些解决方法,我的基于MVC的实体框架(代码优先)应用程序现已完成并可以部署。
我最初尝试通过SQL Express进行开发,然而,我在Code First方法中遇到了I asked about here的不间断问题,这使得它完全不可行。
所以,最后,我按照大多数指南开发了它并使用了SQL Compact Edition。这对于开发来说是绝对精彩的 - 但是 - 现在它已经部署并且我被卡住了。
我见过有人说过从.SDF
文件生成架构,但是,Compact版本中存在差异和限制,例如nvarchar
的长度限制为4000
,我的申请需要最多。
基本上,我该怎么办?
此外 - 但不是必需的 - 我将很快转到下一个项目,它将涉及大量使用需要存储在长度超过4000个字符的数据库中的项目。现在是否有更好的策略用于开发/是否可以将Code First与SQL Server Express或SQL Full一起使用(我有MSDN并愿意安装/使用任何有用的东西)。
答案 0 :(得分:2)
以下是我的非正式建议:
我们的博客:http://blog.oneunicorn.com/2011/03/31/configuring-database-initializers-in-a-config-file/ MVC演练:http://blogs.msdn.com/b/adonet/
答案 1 :(得分:1)
一方面,关于部署/迁移,您可能需要查看http://exportsqlce.codeplex.com
另一方面,我一直在检查Microsoft SQL Server Compact 4.0 Books Online,原则上没有包含数据类型的已知问题,但您提到的nvarchar
限制已得到确认。
最后,为了制定策略,您可能会对Differences Between SQL Server Compact and SQL Server
感兴趣答案 2 :(得分:1)
您需要创建调试和特定于发布的web.config
文件:
在发布特定文件中删除连接字符串,因此它会为您创建数据库。
在调试特定文件中,保留连接字符串。
但是,我建议您不要使用连接字符串,而是使用SQL Management Studio。鉴于Compact Edition不支持您的要求,现在是转换的好时机......