Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 是否有人使用实体框架*Well*?_.net_Entity Framework_Orm_Ado.net - Fatal编程技术网

.net 是否有人使用实体框架*Well*?

.net 是否有人使用实体框架*Well*?,.net,entity-framework,orm,ado.net,.net,Entity Framework,Orm,Ado.net,是否有人实际发布了一个实体框架项目,该项目将O/R映射到与数据存储中的表完全不同的概念类中 我的意思是将连接(M:M)表折叠到其他实体中,形成概念类,这些类存在于业务领域中,但在数据存储中被组织为多个表。我在MSDN上看到的所有示例都很少使用继承、将连接表折叠为其他实体或将查找表折叠为实体 我很想听到或看到下面的示例,它们支持您通常希望在业务对象上执行的所有CRUD操作: 车辆表和颜色表。一种颜色可以出现在许多车辆中(1:M)。它们形成具有属性颜色的概念类UsedCar 医生、医生患者和患者表(

是否有人实际发布了一个实体框架项目,该项目将O/R映射到与数据存储中的表完全不同的概念类中

我的意思是将连接(M:M)表折叠到其他实体中,形成概念类,这些类存在于业务领域中,但在数据存储中被组织为多个表。我在MSDN上看到的所有示例都很少使用继承、将连接表折叠为其他实体或将查找表折叠为实体

我很想听到或看到下面的示例,它们支持您通常希望在业务对象上执行的所有CRUD操作:

  • 车辆表和颜色表。一种颜色可以出现在许多车辆中(1:M)。它们形成具有属性颜色的概念类UsedCar

  • 医生、医生患者和患者表(形成多对多表)。医生有很多病人,病人可以有很多医生(M:M)。绘制两个概念类医生(有一个病人集合)和病人(有一个医生集合)


  • 是否有人在实体框架中看到/使用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版本并投入一个小时。