Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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# EntitySet名称';xxxxxdkdbe.车辆和x27;找不到_C#_Sql Server 2008_Entity Framework - Fatal编程技术网

C# EntitySet名称';xxxxxdkdbe.车辆和x27;找不到

C# EntitySet名称';xxxxxdkdbe.车辆和x27;找不到,c#,sql-server-2008,entity-framework,C#,Sql Server 2008,Entity Framework,我使用mssql 2008服务器(在我的webhotel上),并试图从代码中保存数据 我在这里编写了这个小测试代码,它在主题中给出了这个错误 Context = new XXX_dk_dbEntities(); var vehicle = new Vehicle { Name = "test" }; Context.AddObject("Units", vehicle); Context.SaveChanges(); 编辑:更改Context.AddObject(vehicle.Get

我使用mssql 2008服务器(在我的webhotel上),并试图从代码中保存数据

我在这里编写了这个小测试代码,它在主题中给出了这个错误

 Context = new XXX_dk_dbEntities();
 var vehicle = new Vehicle { Name = "test" };
 Context.AddObject("Units", vehicle);
 Context.SaveChanges();
编辑:更改Context.AddObject(vehicle.GetType().Name,vehicle);添加对象(“某物”,车辆);给出了相同的错误,所以我认为可能是我的connectionstring或我的EF需要正确的设置,无论如何我可以测试它吗

编辑2:将其更改为Units now,这会导致我的错误{“基础提供程序在打开时失败”。}并检查该错误{“用户'xxxxx_dk'登录失败”。},因此它必须是我的connectionstring

<add name="xxxxx_dk_dbEntities" connectionString="metadata=res://*/Areas.Units.UnitsModel.csdl|res://*/Areas.Units.UnitsModel.ssdl|res://*/Areas.Units.UnitsModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=mssql1.unoeuro.com;initial catalog=xxxxxxx_dk_db;persist security info=True;user id=xxxxxxxx_dk;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

这是显示我的edmx结构的solutionexplore


在我发现我必须添加删除(出于某种原因,它使用machine.config中指定的connectionstring)并将我自己的提供程序的名称更改为“AspNetSqlMembershipProvider”后,我为此创建了一个新的connectionstring以便使用,因此删除旧的connectionstring(Wierd!),创建一个自定义的memberprovider,如

<membership>
  <providers>
      <add connectionStringName="unoeurotest" enablePasswordRetrieval="false"
      enablePasswordReset="true" requiresQuestionAndAnswer="false"
      requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6"
      minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
      applicationName="/" name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
  </providers>
</membership>

然后仅为此创建一个连接字符串

<add name="unoeurotest" connectionString="Data Source=mssql1.unoeuro.com;Initial Catalog=xxxxxx_dk_db;User Id=xxxxx_dk;Password=xxxxxx;MultipleActiveResultSets=True;"/>


不确定,但如果没有实体集名称,我认为您无法添加它。似乎车辆是一种特殊的装置。您的上下文中没有定义enity集合吗?我不确定,我还没有这样做,虽然EF自动处理了大部分信息?但它需要一个位置来“保存”车辆上的附加信息。我唯一能想到的地方就是一张桌子。这难道不仅仅是一个对象吗?那么,当你试图保存它时,它为你做了所有的工作?像那样控制实体似乎有很多麻烦。也。。。您将如何从数据库中取回车辆?是
实体集
名称
车辆
还是
车辆
?如果在EF设计器中右键单击车辆实体并选择“属性”,则可以选中此选项。其中您应该看到一个名为
实体集名称的属性。您还可以通过执行
Context.AddObject(“xxxxx\u dk\u dbEntities.Vehicles”,vehicle)进行测试。集合名称是Units,如果我使用它,我会得到“基础提供程序在打开时失败”。因此,这必须是朝着正确方向迈出的一步,内部异常是“{”用户“xxxxx_dk”登录失败。“}”,因此它必须是我的connectionstring