2016-06-21 31 views
0

我收到錯誤實體類型RelyingParty不是當前上下文的模型的一部分,即使它存在實體類型RelyingParty不是當前上下文的模型的一部分

我的edmx名稱是SSO。 edmx存在於實體文件夾中Entrada.DAL程序集。以下是SSO.Context類

namespace Entrada.DAL.Entities 
{ 
    using System; 
    using System.Data.Entity; 
    using System.Data.Entity.Infrastructure; 

    public partial class SSOEntities : DbContext 
    { 
     public SSOEntities() 
      : base("name=SSOEntities") 
     { 
     } 

     protected override void OnModelCreating(DbModelBuilder modelBuilder) 
     { 
      throw new UnintentionalCodeFirstException(); 
     } 

     public virtual DbSet<KeyValuePair> KeyValuePairs { get; set; } 
     public virtual DbSet<RelyingParty> RelyingParties { get; set; } 
    } 

下面的代碼是在web.config中

<add name="SSOEntities" connectionString="metadata=res://*/Entities.SSO.csdl|res://*/Entities.SSO.ssdl|res://*/Entities.SSO.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=dbname;initial catalog=SSO;persist security info=True;user id=user;password=******;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 

連接字符串,這就是引發錯誤的代碼:

public List<RelyingPartyDALDTO> GetAllRelyingParty() 
     { 
      List<RelyingParty> relyingPartDB = DBContext.RelyingParties.ToList(); 
      List<RelyingPartyDALDTO> relyingPartyList = RelyingPartyEntityToDAL.Map<List<RelyingPartyDALDTO>>(relyingPartDB); 
      return relyingPartyList; 
     } 

的DbContext是:

public SSOEntities DBContext 
     { 
      get 
      { 
       if (SSOEntities == null) 
       { 
        SSOEntities = new SSOEntities(); 
       } 
       return SSOEntities; 
      } 

     } 

我在執行語句時出錯: List relyingPartDB = DBContext.RelyingParties.ToList(); Check the error here

你能在DBContext中看到錯誤嗎?已存在的表(KeyValuePair)不會引發任何錯誤,但新添加的表RelyingParty將引發該錯誤。

我不明白是什麼問題。對於我添加到edmx的任何新表,我都面臨着這個問題。

任何人都可以幫我嗎?

+0

有人幫我請!!!!!!! –

回答

0

試試這個在您的SSOEntities類

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{ 
    modelBuilder.Entity<RelyingParty>().ToTable("RelyingParty"); 
} 
+0

我也嘗試過,就像以前的查詢中所建議的一樣。它不幫助 –

+0

你可以發佈你的錯誤? – riteshmeher

+0

我已經添加了在查詢中拋出錯誤的代碼。 –

相關問題