C# 如何处理;没有名为'的连接字符串;餐饮业';可以在应用程序配置文件中找到;以WinForms
我希望你们都会好起来 我正在尝试WinForms上的一个项目。我制作了一个表单名C# 如何处理;没有名为'的连接字符串;餐饮业';可以在应用程序配置文件中找到;以WinForms,c#,winforms,entity-framework,entity-framework-6,syncfusion,C#,Winforms,Entity Framework,Entity Framework 6,Syncfusion,我希望你们都会好起来 我正在尝试WinForms上的一个项目。我制作了一个表单名Dashboard和用户控件名DashboardScreen。 仪表板基本上会有许多用户控件,如仪表板屏幕,清单屏幕,设置屏幕等。这些屏幕很小,并且以主父窗体停靠仪表板,因此当用户单击按钮时,相应的用户控件使用仪表板屏幕显示在最前面。BringToFront() 这些用户控件正在实现实体框架v6.4.0用户控件,当我不在这些控件上使用实体框架时,主仪表板窗体工作正常。每当我将实体框架用作restaurententie
Dashboard
和用户控件名DashboardScreen
。
仪表板
基本上会有许多用户控件,如仪表板屏幕
,清单屏幕
,设置屏幕
等。这些屏幕很小,并且以主父窗体停靠仪表板
,因此当用户单击按钮时,相应的用户控件使用仪表板屏幕显示在最前面。BringToFront()
这些用户控件正在实现实体框架v6.4.0
用户控件,当我不在这些控件上使用实体框架时,主仪表板窗体工作正常。每当我将实体框架用作restaurententies DB=newrestaurententies()代码>为了利用数据库服务,主仪表板窗体在设计模式下出现以下错误
在应用程序配置文件中找不到名为“RestaurentEntities”的连接字符串
第二个错误是
变量“dashboardScreen”未声明或从未分配
这是我的配置文件
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
<connectionStrings><add name="RestaurentEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=YASIR\SQLDEVENV;initial catalog=Restaurent;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
将您的连接字符串更改为以下内容:
<connectionStrings>
<add name="RestaurentEntities"
connectionString="data source=YASIR\SQLDEVENV;initial catalog=Restaurent;integrated
security=True;MultipleActiveResultSets=True;App=EntityFramework"
providerName="System.Data.SqlClient" />
</connectionStrings>
如果要拖放表单中的UserControl,并且构造函数方法或OnLoad方法中的控件具有对EntityFramework的访问权限,并且EntityFramework访问权限是由引用的项目创建的,则必须在代码中包含以下内容:
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (!DesignMode)
{
//access to EntityFramework
}
}
这回答了你的问题吗?最有可能的情况是,您需要将ConnectionString添加到实际调用新RestaureEntities对象的项目的.config文件中。它给出了一个错误“实体框架:上下文正在代码优先模式下使用,代码是从EDMX文件生成的”
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (!DesignMode)
{
//access to EntityFramework
}
}