.net 是否有人使用实体框架*Well*?
是否有人实际发布了一个实体框架项目,该项目将O/R映射到与数据存储中的表完全不同的概念类中 我的意思是将连接(M:M)表折叠到其他实体中,形成概念类,这些类存在于业务领域中,但在数据存储中被组织为多个表。我在MSDN上看到的所有示例都很少使用继承、将连接表折叠为其他实体或将查找表折叠为实体 我很想听到或看到下面的示例,它们支持您通常希望在业务对象上执行的所有CRUD操作:.net 是否有人使用实体框架*Well*?,.net,entity-framework,orm,ado.net,.net,Entity Framework,Orm,Ado.net,是否有人实际发布了一个实体框架项目,该项目将O/R映射到与数据存储中的表完全不同的概念类中 我的意思是将连接(M:M)表折叠到其他实体中,形成概念类,这些类存在于业务领域中,但在数据存储中被组织为多个表。我在MSDN上看到的所有示例都很少使用继承、将连接表折叠为其他实体或将查找表折叠为实体 我很想听到或看到下面的示例,它们支持您通常希望在业务对象上执行的所有CRUD操作: 车辆表和颜色表。一种颜色可以出现在许多车辆中(1:M)。它们形成具有属性颜色的概念类UsedCar 医生、医生患者和患者表(
是否有人在实体框架中看到/使用CSDL和SSDL执行此操作?如果CSDL实际上没有映射到任何东西,那么它就不好我试图在现有项目上使用实体框架(~60个表,3个带有继承),只是想看看它到底是怎么回事。我的经验归结为: 设计师的表面很模糊。映射不是直观的,一定有人认为同时打开多个工具窗口是可以接受的。手动创建一个对象并映射正确的字段花了很长时间——然后从代码中与它交谈仍然很奇怪。虽然处理数据库通信是必要的,但我觉得将控制权交给EF远比手工操作困难得多 有时,直到重新启动VisualStudio,设计器才会加载。我确信这只是一个bug,但是重启VS很烦人 你所有的工作都在一个文件中结束,我不喜欢合并多个开发者版本 生成的SQL(通过探查器查看)不是很好。我并没有深入探究原因,但第一次尝试时你会被迫写一些更糟糕的东西。你是说这样吗
<edmx:ConceptualModels>
<Schema xmlns="http://schemas.microsoft.com/ado/2006/04/edm" Namespace="Model1" Alias="Self">
<EntityContainer Name="Model1Container" >
<EntitySet Name="ColorSet" EntityType="Model1.Color" />
<EntitySet Name="DoctorSet" EntityType="Model1.Doctor" />
<EntitySet Name="PatientSet" EntityType="Model1.Patient" />
<EntitySet Name="UsedCarSet" EntityType="Model1.UsedCar" />
<AssociationSet Name="Vehicle_Color" Association="Model1.Vehicle_Color">
<End Role="Colors" EntitySet="ColorSet" />
<End Role="Vehicles" EntitySet="UsedCarSet" /></AssociationSet>
<AssociationSet Name="DoctorPatient" Association="Model1.DoctorPatient">
<End Role="Doctor" EntitySet="DoctorSet" />
<End Role="Patient" EntitySet="PatientSet" /></AssociationSet>
</EntityContainer>
<EntityType Name="Color">
<Key>
<PropertyRef Name="ColorID" /></Key>
<Property Name="ColorID" Type="Int32" Nullable="false" />
<NavigationProperty Name="Vehicles" Relationship="Model1.Vehicle_Color" FromRole="Colors" ToRole="Vehicles" /></EntityType>
<EntityType Name="Doctor">
<Key>
<PropertyRef Name="DoctorID" /></Key>
<Property Name="DoctorID" Type="Int32" Nullable="false" />
<NavigationProperty Name="Patients" Relationship="Model1.DoctorPatient" FromRole="Doctor" ToRole="Patient" /></EntityType>
<EntityType Name="Patient">
<Key>
<PropertyRef Name="PatientID" /></Key>
<Property Name="PatientID" Type="Int32" Nullable="false" />
<NavigationProperty Name="Doctors" Relationship="Model1.DoctorPatient" FromRole="Patient" ToRole="Doctor" />
</EntityType>
<EntityType Name="UsedCar">
<Key>
<PropertyRef Name="VehicleID" /></Key>
<Property Name="VehicleID" Type="Int32" Nullable="false" />
<NavigationProperty Name="Color" Relationship="Model1.Vehicle_Color" FromRole="Vehicles" ToRole="Colors" /></EntityType>
<Association Name="Vehicle_Color">
<End Type="Model1.Color" Role="Colors" Multiplicity="1" />
<End Type="Model1.UsedCar" Role="Vehicles" Multiplicity="*" /></Association>
<Association Name="DoctorPatient">
<End Type="Model1.Doctor" Role="Doctor" Multiplicity="*" />
<End Type="Model1.Patient" Role="Patient" Multiplicity="*" /></Association>
</Schema>
</edmx:ConceptualModels>
这就是我要说的……这看起来不错。它总是将CSDL映射到我一直想知道的SSDL。SSDL从哪里开始?我想我想知道的是,这是否比我们描述空白设计器表面上带有CSDL的实体更简单。对我来说,映射一直是个问题。这是最近的还是在测试期间?我有一个非常糟糕的beta测试体验,并没有真正让我对EF感到兴奋。只要我能在我的工作机器上安装SP1版本并投入一个小时。