此文承接上一文章 基于WCF的API实现
http://www.cnblogs.com/heyixiaoran/p/4000695.html
由于上一次Entity部分没怎么写,到Services里识别了就以为完事了,实际使用时却发现问题还是有
一、首先要把EntityFramework.SqlServer.dll复制到Windows Service 宿主服务的Bin目录的Debug目录下,否则你生成肯定有问题
二、接下来在Services里安装EntityFramework,注意此处不是引入DLL,
VS->Tools->NuGet Package Manager->Package Manageer Console
然后初始化后输入Install-Package EntityFramework,执行完成后就OK了。
三、EF的App.config里的配置要复制到WCF里的App.config里,否则EF查询不到数据
这样终于可以顺利的使用了。
EF的Code First 模式很强大,但我也是好迷糊
首先添加方式
一、添加了EF插件后,在项目上右键
二、添加新建项目
两种方式添加后的代码完全不同,我不知道到底为何差异这么大,仔细查看后觉得
第一种是Mapping的方式表示外键
第二种是Fluent API方式表示外键
不知道哪种方式更好?知道的欢迎讲解下
其次存储过程的问题
用DB First的方式添加后会发现存储过程的代码,然后对比下和新建项目的DbContext的结构一样,所以我想应该可以复制过来用
但是存储过程我会有很多判断,比如存入的时候发现存在相同的项目会抛出已经存在的提示,这样在代码里我没发现这样的提示给转换出来,我也没找到存储过程的例子
最后迫不得已选择了DB First
有找到比较复杂的例子的欢迎发来共同学习,或者亲自提供一个例子
http://www.cnblogs.com/heyixiaoran/p/4000695.html