EDM就是Entity Data Model,是EF的主要操作对象。在我理解,EDM是对数据库表的持久化和实体映射。M$提供的两个ORM技术,Linq2SQL和EF,目前大家还是用自底向上(先建表后映射实体类)的设计方法。其实我也是比较倾向于这么做的,画ER图然后往下layout的操作,我不是很感冒。。。。
在Visual Studio里创建一个EDM是非常方便的,提供了一个专门的designer,这个方法在网上也很常见,基本上也没有什么特别需要设置的地方。在创建EDM完毕之后,还是有个比较重要的事情要做,那就是把Entity Set Name改为复数形式,以及把one - many这种关系的one端的navigation properties名字也改为复数,这在后面的coding中会带来相当大的便利。
在VS的解决方案管理器中,打开EDM的方法似乎只有设计器,如果想看一看它的raw编码,可以右键->Open with->XML Editor。据说看懂这个玩意能够带来升级的EF理念,who knows....
这其中的SSDL、CSDL和C-S Mapping的内容都是极端重要的。
EDM中也会有数据库视图,这些视图都是只读的,即没有Insert、Update和Delete命令。
EF会自动为model生成一些实体类,这些实体类就是向model做查询用的。
OK,这就是目前我所了解的EDM。