繁体   English   中英

实体框架找不到我的连接字符串

[英]Entity Framework can't find my connection string

只是调用我的WCF来填充我的datagridView

private void button1_Click(object sender, EventArgs e)
{
    ServiceReferenceReservations.ReservationsServiceClient srr = 
               new ServiceReferenceReservations.ReservationsServiceClient();
                        gridData.DataSource = srr.getAllReservations();
}

而mycf所做的就是将业务层的返回类型转换为正确的类型

public List<clsReservation> getAllReservations()
{
    List<clsReservation> oDataList = new List<clsReservation>().ToList();

    List<Reservation> mesReservations = BusinessLayer.Reservations.LoadAllReservationsEF();

    foreach (var item in mesReservations)
    {
        clsReservation cls = new clsReservation()
                {
                    id = item.id,
                    lecteurID = item.lecteurID,
                    livreID=item.livreID
                };
        oDataList.Add(cls);
    }

    return oDataList;
}    

业务层将调用数据访问层并返回数据

return DataAccessLayer.Reservations.LoadAllReservationEF();

然后我的数据访问层正在使用实体框架

public static List<Reservation> LoadAllReservationEF()
{
    List<Reservation> malisteReservation = new List<Reservation>();

    using (bibliothequeEntities dbcontext = new bibliothequeEntities())
    {
        List<Reservation_SelectAll_Result> maliste = dbcontext.Reservation_SelectAll().ToList();

        var x = from p in maliste
                select new Reservation
                        {
                            id = p.id,
                            lecteurID = p.lecteurID,
                            livreID = p.livreID,
                        };

        foreach (var item in x)
        {
            malisteReservation.Add(item);
        }
    }

    return malisteReservation;
}

我的数据访问层在Model1.Context.cs中引发错误:

在DAL的应用程序配置文件中找不到名为“ bibliothequeEntities”的连接字符串

<connectionStrings>
    <add name="bibliothequeEntities" 
         connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=arpa;initial catalog=bibliotheque;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" 
         providerName="System.Data.EntityClient" />
</connectionStrings>

但是我的DAL以及调用WCF的启动项目中都有该连接字符串。 我已经尝试注释方法“ onModelCreating”以避免抛出错误,但仍然找不到解决方案

我想念什么?

如果在IIS中托管,则需要将app.config文件的内容复制到将其托管在IIS中的虚拟目录的web.config文件中。 我不相信这会自动为您完成。

如果您使用其他主机来托管,则类似地,需要找到主机正在执行的文件夹,然后将内容复制到 app / web.config中。

简而言之,您需要将连接字符串放在主机的.config中,而不是其他任何程序集中。

有关更多详细信息,请参见此处

连接字符串应该在wcf中,这甚至不需要将其放在dataccesslayer中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM