如何为Web应用程序配置实体框架元数据位置

时间:2010-09-09 15:51:39

标签: asp.net entity-framework entity-framework-4

我正在尝试使用此ConnectionString

在Web.config文件中配置Entity Framework 4
...
metadata=
         res://*/CmsEntityDataModel.csdl|
         res://*/CmsEntityDataModel.ssdl|
         res://*/CmsEntityDataModel.msl;
....

我想删除“*”并添加我的dll文件的实际路径。 如何在没有加载项的Visual Studio中找到dll的路径?

由于

2 个答案:

答案 0 :(得分:3)

我写过a long explanation of EF metadata paths;您可能会发现阅读它会很有帮助。

您可以使用程序集名称替换*,这可能是也可能不是强名称,如下所示:

<add name="MyEntities" connectionString="metadata=
        res://Simple Mvc.Data.dll/Model.csdl|
        res://Simple Mvc.Data.dll/Model.ssdl|
        res://Simple Mvc.Data.dll/Model.msl;provider= <!-- ... -->

答案 1 :(得分:1)

res://*/CmsEntityDataModel.csdl是一个资源位置,当您输入指向磁盘上文件的实际路径时。这意味着在部署时,您还需要将文件放在磁盘上的该位置。

将元数据作为嵌入式资源并使用资源位置是我要做的,除非你必须能够在不更改dll的情况下将其交换出来。

有关详细信息,请参阅MSDN