我建立使用实体框架和代码优先的方法和我的Web应用程序真的很喜欢它,到目前为止,除了一两件事。初始化过程和播种数据是垃圾。EF 4.1代码首先初始化 - 替代
我已经将它设置为推荐使用ASP.NET MVC与setinitialiser被称为应用程序启动和自定义初始化类添加数据,但它似乎总是默默地消失,从来没有工作。 (数据库创建工作不仅仅是数据初始化失败)
任何人都可以对这个或运行从一个文件中的SQL脚本的方式提供推荐paractice。
给定的添加数据的方法,尤其是演示站点的方法看起来很麻烦,我宁愿直接从作为安装过程的一部分运行一次的文件运行数据库脚本,而不是依赖于过程没有任何迹象表明某些事情已经出错。
编辑
我已经注意到它抛出异常(愚蠢的日期时间 - >应该由实体框架来处理DATETIME2转换错误)
但问题的一部分,可能是我的版本明年2010年不会出现错误,它在调试时似乎很麻烦。
但问题仍然有效。我发现它本质上是在数据库上运行sql脚本的一种繁琐和错误的方式。当有人在IIS中安装我的Web应用程序时,不希望结束一大堆方法和类来设置演示站点。
不会有一个静态的sql脚本首先打败了code-first的目的吗?我不能说我遇到了种子问题,关于这个问题的更多细节和代码片段会有所帮助。 – 2011-04-24 16:40:57
没有太多的代码要粘贴这个方法非常简单,我可以在种子方法中插入断点并且它们可以工作,但context.savechanges似乎永远不会工作。 – eaglestorm 2011-04-25 02:53:04
如果没有太多的代码要粘贴,为什么你拒绝这样做? – 2011-04-25 03:18:31