无法理解这个MySQL连接字符串

时间:2016-08-19 01:31:47

标签: c# mysql wpf entity-framework-6

我正在为我们的一位客户排查WPF C#应用程序。

该应用程序连接到MySQL数据库。但是,连接字符串采用“元数据”的形式。使用.ssdl和.msl文件

这个元数据是什么东西,ssdl和msl文件?

<add name="NFMEntity" connectionString="metadata=res://*/TrendData.csdl|res://*/TrendData.ssdl|res://*/TrendData.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=127.0.0.1;user id=mmm;password=mmmmmm;persistsecurityinfo=True;database=nfm&quot;" providerName="System.Data.EntityClient" />

1 个答案:

答案 0 :(得分:0)

EF使用包含.csdl,.ssdl和.msl的元数据部分,它们包含您通过EF描述的模型的不同层。此部分不是数据库连接字符串的一部分。

Exploring how the Entity Data Model (EDM) Generates Code and Executes Queries – Entity Framework 4.0博文提供了对这些图层的高级描述:

  

我们知道Entity Framework将数据库表映射到对象。这是   完成3个不同的层次:

     

逻辑层:定义了逻辑层,也称为存储层   通过商店架构定义语言(SSDL)定义   表的结构和它们之间的关系。

     

概念层:概念层由概念层定义   模式定义语言(CSDL)和定义的.NET类。

     

映射层:映射层由映射规范定义   语言(MSL)并连接CSDL中的实体类型定义   到SSDL中定义的元数据,因此名称为C-S映射。所以   映射本质上是从.NET类到表结构   及其关系。

     

在运行时,此.edmx被拆分为这三个不同的文件   (.ssdl,.csdl和.msl)。