2017-08-16 19 views
0

.Net Coreに新しく追加されました。私が持っている、私は私のコントローラでエンティティタイプ 'Microsoft.AspNetCore.Mvc.Rendering.SelectListGroup'は、プライマリキーを定義する必要があります。

public SelectList SiteList { get; set; } 

を持って私のモデルクラスで MVC6 Dropdownlist of Countries

に類似し、ドロップダウンリストを実装しようと

私の見解では
var sites = _context.Site.OrderBy(s => s.Name).Select(x => new { Id = x.ID, Value = x.Name }); 

    var model = new Issue(); 
    model.SiteList = new SelectList(sites, "Id", "Value"); 

    return View(model); 

、私は持っています:

<td class="input-item"> 
<select asp-for="SiteID" asp-items="@Model.SiteList"></select> 
</td> 

移行を実装しようとすると、次のエラーが発生します。 エンティティタイプ 'Microsoft.AspNetCore.Mvc.Rendering.SelectListGroup'には、主キーを定義する必要があります。

私は私の移行名前空間に無視してみました:

modelBuilder.Entity<Issue>().Ignore(i => i.SiteList); 

しかし、私は右の場所でこれをやったことを完全にはよく分かりません。

答えて

0

この問題を解決するためには、単にモデルは.csファイル内のSelectListの特性上

[NotMapped] 

を置く:

[NotMapped] 
public SelectList SiteList { get; set; } 

これは、モデルにリストをマッピングからEntityFrameworkを防ぐことができます。モデルデータベースの一部ではないため、主キーは必要ありません。

関連する問題