otrzymuję następujący błąd:Entity Framework 4.2 „Typ nie jest przypisana z EdmEntityTypeAttribute ale jest zawarta w zespole nadana z EdmSchemaAttribute
System.InvalidOperationException was unhandled Message=The type 'Judge' is not attributed with EdmEntityTypeAttribute but is contained in an assembly attributed with EdmSchemaAttribute. POCO entities that do not use EdmEntityTypeAttribute cannot be contained in the same assembly as non-POCO entities that use EdmEntityTypeAttribute.
Source=EntityFramework StackTrace: at System.Data.Entity.Internal.InternalContext.UpdateEntitySetMappingsForType(Type entityType) at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)....
public class GenericRepository<TEntity> where TEntity : class
{
internal z context;
internal DbSet<TEntity> dbSet;
public GenericRepository(z context)
{
this.context = context;
this.dbSet = context.Set<TEntity>();
}
public GenericRepository()
{
this.context = new z();
this.dbSet = context.Set<TEntity>();
}
public virtual IEnumerable<TEntity> Get(
Expression<Func<TEntity, bool>> filter = null,
Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null,
string includeProperties = "")
{
IQueryable<TEntity> query = dbSet;
if (filter != null)
{
query = query.Where(filter);
}
foreach (var includeProperty in includeProperties.Split
(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
{
query = query.Include(includeProperty);
}
if (orderBy != null)
{
return orderBy(query).ToList();
}
else
{
return query.ToList(); //Getting error here!!
}
}
public virtual TEntity GetByID(object id)
{
return dbSet.Find(id);
}
public virtual void Insert(TEntity entity)
{
dbSet.Add(entity);
}
public virtual void Delete(object id)
{
TEntity entityToDelete = dbSet.Find(id);
Delete(entityToDelete);
}
public virtual void Delete(TEntity entityToDelete)
{
if (context.Entry(entityToDelete).State == EntityState.Detached)
{
dbSet.Attach(entityToDelete);
}
dbSet.Remove(entityToDelete);
}
public virtual void Update(TEntity entityToUpdate)
{
dbSet.Attach(entityToUpdate);
context.Entry(entityToUpdate).State = EntityState.Modified;
}
public virtual void Save()
{
context.SaveChanges();
}
}
Upiorna część jest sędzia jest przypisany z EdmEntityTypeAttribute , ponieważ jest on generowany automatycznie jako część DbContext T-4 jazzu.
/// <summary>
/// No Metadata Documentation available.
/// </summary>
[EdmEntityTypeAttribute(NamespaceName="standaloneModel", Name="Judge")]
[Serializable()]
[DataContractAttribute(IsReference=true)]
public partial class Judge : EntityObject
{
w pewnym momencie miałem innej klasy sędziego w innym zespole, ale zmieniłem nazwę. Próbowałem oczyścić oba projekty. Nie powinno być żadnych innych klas sędziów poza EF.
Więc nie mogę się dowiedzieć, skąd pochodzi ta druga klasa sędziów?
Dzięki
Spróbuj usunąć foldery bin i obj, aby upewnić się, że nic nie przeżyje. – tster
Próbowałem tego, wciąż otrzymuję ten sam błąd. – bulltorious
W mojej ostatniej pracy od czasu do czasu dostałem tego błędu, ale nie mogę do końca życia pamiętać, jak to naprawiłem. Gdyby to była odpowiedź, sam ją oznaczyłbym, ponieważ jest to bezużyteczne. – tster