Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何处理;没有名为'的连接字符串;餐饮业';可以在应用程序配置文件中找到;以WinForms_C#_Winforms_Entity Framework_Entity Framework 6_Syncfusion - Fatal编程技术网

C# 如何处理;没有名为'的连接字符串;餐饮业';可以在应用程序配置文件中找到;以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

我希望你们都会好起来

我正在尝试WinForms上的一个项目。我制作了一个表单名
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=&quot;data source=YASIR\SQLDEVENV;initial catalog=Restaurent;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" 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
        }
 }