【问题标题】:Using entity model in class library在类库中使用实体模型
【发布时间】:2015-02-06 05:19:14
【问题描述】:

我有一个由两个类库和一个 Windows 应用程序组成的项目解决方案。 这两个库分为 Custom_Classes 和 Custom_Controls。

我是我的 Custom_Classes 库我有一个实体模型,它从我的 Custom_Controls 库中引用以访问某些数据成员。连接工作正常,当我将控件添加到我的 Windows 窗体时,它没有任何问题。但是,当我想在另一个控件中添加自定义控件时,将其从工具箱中拖动会出现以下消息。

未能创建组件“u_Settings”。错误消息如下:'在应用程序配置文件中找不到名为'MyEntitiesCon'的连接字符串。'

我已确保连接字符串位于 app.config 文件中,甚至尝试将其添加到项目设置文件中。这是我从 Custom_Classes 项目复制到 Custom_Controls 项目的连接字符串

<connectionStrings>
    <add name="MyEntitiesCon" connectionString="metadata=res://*/Enity_Framework.SP_Model.csdl|res://*/Enity_Framework.SP_Model.ssdl|res://*/Enity_Framework.SP_Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=XXX\XXX;initial catalog=XXX;integrated security=True;connect timeout=30;connectretrycount=2;MultipleActiveResultSets=True;App=EntityFramework&quot;"      providerName="System.Data.EntityClient" />
</connectionStrings>

我尝试了很多解决方案,但都没有成功

【问题讨论】:

  • 我尝试在 Custom_Controls 项目中删除 app.config 文件,并在 Custom_Classes 中保留对 MyEntitiesCon 的唯一引用,但仍然给我同样的错误
  • 对不起,如果我理解不正确。您所说的是删除库中的两个 app.config 文件,只在 Windows 应用程序中使用 app.config 。如果是这种情况,那么它不起作用,因为我没有在应用程序中工作,我在 Custom_Controls 库中添加控件来控制

标签: vb.net entity-framework connection-string class-library


【解决方案1】:

首先,这似乎是一个糟糕的设计,制动SOLID 原则。 您应该依赖抽象的 DataSource 接口。数据源实现应与控件分离。

MSDN 上也有很好的指南:

http://msdn.microsoft.com/en-us/library/ms171926.aspx

PS。打开 EF 设计器并尝试更新模型。保存连接字符串并将其复制到您设计控件的项目中。

【讨论】:

  • 我不认为你的回答能解决我的问题。我的 EF 模型没有问题,因为当我在 Application 和 Custom_Controls 库中使用它时没有问题。只有当我将用户控件放在另一个用户控件中时才会出现问题,这给了我这个错误。
  • 能否请您在创建实体上下文实例的位置添加代码
【解决方案2】:

您是否尝试将连接字符串添加到 Windows 应用程序项目中的 app.config 中?

【讨论】:

    【解决方案3】:

    如果设计器的初始化需要连接字符串,那么您需要将连接字符串放入使用您的控件库的每个新项目的配置中。顺便说一句,如果您从设计器初始化中删除连接字符串,那么您只需将其放在目标的配置文件中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-14
      • 2017-08-26
      • 2011-09-16
      • 2012-02-22
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 2018-12-02
      相关资源
      最近更新 更多