0
C#Web.Api OData的應用探析如何的OData使用自定義類v4的,而不是從designer.cs類
我執行的OData V4的第一次,想用我自己的自定義類,而不是來自設計者的數據類。
這裏是我做過什麼:
我在視覺工作室創建的數據項目,並添加我的SQL的LINQ數據表中的「視頻」
我創建的數據上下文如下:
public class VideoDataContext : DbContext
{
public VideoDataContext(): base("name=VideoData")
{
DbSet<VideoEf> Videos { get; set; }
}
和我的自定義類如下:
[Serializable]
[DataContract]
public class VideoEf : Repository
{
[DataMember]
public int Id { get; set; }
[DataMember]
public string Isrc { get; set; }
}
和模型生成器:
public Microsoft.OData.Edm.IEdmModel GetEdmModel()
{
ODataModelBuilder builder = new ODataConventionModelBuilder();
EntityTypeConfiguration<VideoEf> titleType = builder.EntityType<VideoEf>();
builder.EntitySet<VideoEf>("Video");
return builder.GetEdmModel();
}
在我的視頻控制器:
public class VideoController : ODataController
{
VideoDataContext db = new VideoDataContext ();
[EnableQuery(PageSize = 20, MaxExpansionDepth = 5)]
public IHttpActionResult Get()
{
return Ok(db.Videos.AsQueryable());
}
當我撥打電話,以獲得視頻實體我不斷收到一個」 406不可接受」的錯誤消息
我怎樣才能確保從數據庫返回的數據映射到我的自定義模型?
我的模型生成器是否正確?
什麼可能導致上述錯誤?