asp.netを使用してアプリケーションを作成し、見出し、要約、およびデータベースの各エントリの一部の画像を表示するコードを作成します。私は画像を表示しようとしているとき、私はこの例外を取得:2つのテーブルのデータを表示します(LINQ to Entitiesクエリでは構築できません)。
型「System.NotSupportedException」の例外がEntityFramework.SqlServer.dllで発生したが、ユーザーコード 追加情報で処理されませんでした:エンティティまたは複雑なタイプ 'FileUpload.Context.Support'は、LINQ to Entitiesクエリでは構築できません。
私のDisplaySummary
linqクエリで問題が発生しています。これを修正してサマリーと関連イメージを表示するにはどうすればいいですか?
ありがとうございました。
コントローラー: 私はコントローラでこれを試みたが、それは
public ActionResult Display()
{
var files = db.Supports.Select(d => new Support()
{
SupportId = d.SupportId,
Name = d.Name,
Summary = d.Summary,
FileDetails = d.FileDetails.Select(x => new FileDetail()
{
Id = x.Id,
FileName = x.FileName,
Extension = x.Extension
}).ToList()
}).ToList();
return View(files);
}
ビューは機能しません。
@model List<FileUpload.Models.Support>
@{
ViewBag.Title = "Index";
}
@foreach (var p in Model)
{
<h3>@p.Name</h3>
<p>@p.Summary</p>
foreach (var file in p.Files)
{
<img class="img-thumbnail" width="150" height="150" src="~/Images/@(file.FileName+file.Extension)" />
}
}
をモデル:
public class Support
{
public int SupportId { get; set; }
[Required(ErrorMessage = "Please Enter Your Name")]
[Display(Name = "Name")]
[MaxLength(100)]
public string Name { get; set; }
[Required(ErrorMessage = "Please Enter Summary")]
[Display(Name = "Summary")]
[MaxLength(500)]
public string Summary { get; set; }
public virtual ICollection<FileDetail> FileDetails { get; set; }
}
public class FileDetail
{
public Guid Id { get; set; }
public string FileName { get; set; }
public string Extension { get; set; }
public int SupportId { get; set; }
public virtual Support Support { get; set; }
}
コンテキスト:
public class EfDbcontext : DbContext
{
public EfDbcontext()
: base("name=DefaultConnection")
{
}
public DbSet<Support> Supports { get; set; }
public DbSet<FileDetail> FileDetails { get; set; }
}
Gertさん、ありがとうございました。あなたの問題を解決しました。 – ARandomUserNamedChuck