【问题标题】:Entities' does not contain a constructor that takes 1 arguments实体'不包含带有 1 个参数的构造函数
【发布时间】:2013-07-25 14:56:46
【问题描述】:
public class Connection
{
    public static string GetConecction()
    {
        return ConfigurationManager.ConnectionStrings["DCAssetEntities"].ConnectionString;
    }
}

我有一个“连接”类来使用实体框架模型实体配置我的网站

public class ConnectionDAL
{
    private DCAssetEntities db;

    public ConnectionDAL()
    {
        db = new DCAssetEntities(Connection.GetConecction());
    }
}

然后我在“ConnectionDAL”类构造函数中初始化我的数据库,它在 Visusal Studio 2010 中运行良好,但在 visusal Studio 2012 中显示错误“DC_Asset_Maintenance.DAL.DCAssetEntities”不包含采用 1 个参数的构造函数 "

【问题讨论】:

  • 网站 web.config 中有 DCAssetEntities 连接字符串吗?
  • 是........我在网站 web.config 中有 DCAssetEntities 连接字符串
  • 你能显示 DCAssetEntities 的构造函数吗
  • 公共 ConnectionDAL() { db = new DCAssetEntities(Connection.GetConecction());我在 ConnectionDAL 类中使用这个构造函数
  • 但是这一行正在创建 'DCAssetEntities' -> db = new DCAssetEntities(Connection.GetConecction());并且您在此类中没有接受一个参数的 ctor

标签: c# asp.net linq entity-framework


【解决方案1】:

您的类DCAssetEntities 需要有一个具有以下定义的构造函数。

public DCAssetEntities(string connectionString){}

【讨论】:

    【解决方案2】:

    在部分类中自己创建构造函数:

    public partial class DCAssetEntities: DbContext
    {
        public DCAssetEntities(string connectionstring)
            : base(connectionstring)
        {
        }
    }
    

    相关问题: Entity Connection String Constructor not found in EF 5 and WCF 4.5 at runtime

    【讨论】:

      【解决方案3】:

      您需要将构造函数标记为public(或internal)。

      【讨论】:

      • 我指的是 DCAssetEntities
      猜你喜欢
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-17
      • 2012-08-21
      相关资源
      最近更新 更多