0
我正在用Entity Framework 6構建一個web api 2 API。一切都很順利,因爲很多api調用都是直接連接到一個表並返回該對象作爲JSON。返回一個由各種模型構建的對象,web api,EntityFramework 6
現在我的頭痛來了,試圖從各種模型構建一個單一的對象。我首先使用代碼。
我想返回對象的簡化版本是這樣的
{ Name : Brand.Name, CategoryScores : [{CategoryId : 'x', Score : 'x'}]}
這是我目前的模型
[Table("Brands")]
public class BrandModel
{
[Key]
public string BrandId { get; set; }
public string BrandName { get; set; }
}
[Table("CategoryScores")]
public class CategoryScoresModel
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid Id { get; set; }
public string BrandId { get; set; }
public string TraqCategoryScore { get; set; }}
public class TraqIndexDTO
{
public string BrandName { get; set; }
public IEnumerable<CategoryScoresDTO> CategoryScores { get; set; }
}
public class CategoryScoresDTO
{
public string CategoryId { get; set; }
public string TraqCategoryScore { get; set; }
}
控制器在這裏的邏輯將被移出一旦其工作
private AuthContext db = new AuthContext();
public IHttpActionResult Get()
{
//var results = this.repository.SelectAll();
return Ok(GetTraqIndex());
}
public IEnumerable<TraqIndexDTO> GetTraqIndex()
{
var traqIndex = from b in db.Brand
select new TraqIndexDTO()
{
BrandName = b.BrandName,
CategoryScores = getCatgoryScoresByBrandId(b.BrandId)
};
return traqIndex;
}
public IEnumerable<CategoryScoresModelDTO>getCatgoryScoresByBrandId(string brandId)
{
var scores = from s in db.CategoryScoresModel
where s.BrandId == brandId
select new CategoryScoresDTO() {
CategoryId = s.CategoryId,
TraqCategoryScore = s.TraqCategoryScore
};
return scores;
}
目前我收到此錯誤「getCategoryScoresByBrandId(System.Strin G)」的方法,而這種方法不能被翻譯成店表達‘’
任何幫助和指導,或一個很好的榜樣,將不勝感激
感謝羅布
謝謝,但名優產品和類別分數現在都不在目前情況下 –
那好吧存在很多欣賞的幫助,但現在我在目前情況下 –
買這個getCatgoryScoresByBrandId(b.BrandId)爲不可用orry我的錯誤類型;) –