0

我正在尝试使用新的 U2 Toolkit .net U2.Data.Client 创建实体数据模型。

我已经浏览了 EntityFrameWork 示例,该示例已经创建了一个可以正常工作的 Customer.edmx 文件。

我现在想创建自己的实体数据模型,但不确定从哪里开始。

我尝试创建一个空模型并手动添加我的实体,但不确定如何将它们链接到表。

我也尝试连接到 Univese 数据库,但不确定如何连接到数据库。

请提供任何帮助。

4

1 回答 1

1

我们正在为 U2 数据库开发 Visual Studio 插件。它将允许服务器资源管理器集成,因此您可以使用 DataSet Designer 或 EDM Designer。在服务器资源管理器中,您将看到表、视图和子例程。我们很快就会去 EAP。

现在,您可以执行以下操作:

  • 创建空模型。
  • 从 EDM Designer 中,删除一个实体,给一些名称
  • 创建两个属性,ID (int) 和 FirstName (string)
  • 例如,学生、学生、ID、名字
  • 现在,在 XML 编辑器中打开 student.edmx 文件。例如,右键单击 student.edmx 文件并选择打开方式-> XML 文本编辑器
  • 您将看到 SSDL、CSDL 和 MSL
  • CSDL 将具有实体和两个属性
  • SSDL 和 MSL 应该是 Empty 现在替换这一行:

架构 xmlns="http://schemas.microsoft.com/ado/2009/02/edm/ssdl" 命名空间="Model1.Store" Alias="Self" Provider="System.Data.SqlClient" ProviderManifestToken="2005"

架构 xmlns="http://schemas.microsoft.com/ado/2009/02/edm/ssdl" 命名空间="Student.Store" Alias="Self" Provider="U2.Data.Client" ProviderManifestToken="UNIDATA, 07.02.0000"

  • 在 SSDL 中,添加以下内容

            <EntityContainer Name="StudentTargetContainer" >
               <EntitySet Name="STUDENT" EntityType="Student.Store.STUDENT_NF_SUB"  />
           </EntityContainer>
      <EntityType Name="STUDENT">
          <Key>
              <PropertyRef Name="ID" />
    
          </Key>
          <Property Name="ID" Type="int" Nullable="false"  />
          <Property Name="FNAME" Type="varchar" MaxLength="25" />
    
      </EntityType>
    
  • 保存文件。

  • 现在双击 student.edmx 文件在设计器中打开。
  • 有时,您会在 XML 编辑器或 EDM Designer 中打开 student.edmx。一内容二视图
  • 打开映射详细信息窗口。右键单击实体-> 表映射
  • 地图 ID -> ID 和 FirstName-FNAME
  • 打开 App.config 文件并添加以下内容

<add name="StudentContainer" connectionString="metadata=res://*/Student.csdl|res://*/Student.ssdl|res://*/Student.msl;provider=U2.Data.Client;provider connection string=&quot;Database=demo;User ID=user;Password=pass;Server=localhost;Persist Security Info=True;Pooling=False;ServerType=unidata&quot;" providerName="System.Data.EntityClient"/>

  • 打开 Program.cs 文件并添加此 LINQ 查询

StudentContainer ctx = new StudentContainer(); var q =ctx.Students.ToList();

于 2012-09-26T04:43:20.420 回答