В моем проекте я использую Data Service, которая использует EF.Теперь у меня есть собственный класс, который я также хочу показать через службу данных, но я не могу заставить его работать, кажется, что невозможно смешивать пользовательские типы и EF в одной службе данных.Любые предложения?
Похоже, он не находит какую-либо информацию в метаданных.
Ошибка:
Сервер обнаружилОшибка обработки запроса.Сообщение об исключении: «Невозможно загрузить метаданные для возвращаемого типа» System.Linq.IQueryable 1[ITS.NetProject.Model.CustomEnty]'
of method
'System.Linq.IQueryable
1 [ITS.NetProject.Model.CustomEnty] GetCustomEnties () '.'.Смотрите журналы сервера для более подробной информации.Трассировка стека исключений: ....
Код:
[ServiceBehavior(IncludeExceptionDetailInFaults=true)]
public class ITSServiceOData : DataService<ITSEntities>
{
public static void InitializeService(DataServiceConfiguration config)
{
config.SetEntitySetAccessRule("*", EntitySetRights.All);
config.SetServiceOperationAccessRule("GetCustomEnties",
ServiceOperationRights.AllRead);
config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
}
[WebGet]
public IQueryable<CustomEnty> GetCustomEnties()
{
return from e in this.CurrentDataSource.CustomEnties select e;
}
}
///Here it is my model definition
namespace ITS.NetProject.Model
{
partial class ITSEntities
{
public IQueryable<CustomEnty> CustomEnties
{
get
{
return ...
}
}
}
//Company, Equipment, Owner are EF entity classes
[DataServiceKey("Id")]
public class CustomEnty
{
public int Id {get;set;}
public Subject Company { get; set; }
public Subject Equipment { get; set; }
public Subject Owner { get; set; }
}
}