找不到EntitySet名称'xxxxx_dk_dbEntities.Vehicle'

时间:2011-11-02 18:06:43

标签: 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.GetType()。名称,车辆);到Context.AddObject(“Something”,vehicle);给出了同样的错误,所以我认为它可能是我的连接字符串或我的EF需要正确的设置,无论如何我可以测试它?

编辑2:现在将其更改为单位,这使我的错误{“底层提供程序在打开时失败。”}并检查,这给了我这个错误{“登录失败的用户'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结构http://www.gratisimage.dk/graphic/images/2011/November/02/7BBD_4EB183FB.jpg

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

我发现之后我必须添加删除(由于某种原因它使用了在machine.config中指定的连接字符串)并将我自己的提供者的名称更改为“AspNetSqlMembershipProvider”我为此创建了一个新的连接字符串,因此删除旧的connectionstring(Wierd!),创建一个像

这样的自定义成员提供者
<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;"/>