我有一个Kendo DrowpDownList,我使用EF类作为它的数据源。
@(Html.Kendo().DropDownList()
.Name("myCars")
.OptionLabel("--- Select Cars ---")
.DataValueField("ID")
.DataTextField("DESCRIPTION")
.HtmlAttributes(new { style = "width: 500px" })
.DataSource(s =>
{
s.Read(r =>
{
r.Action("GetAllCars", "Home");
});
})
)
当表MY_CARS是唯一的表时,这很好。
public static List<MY_CARS> GetAllCars()
{
using (var context = new Entities())
{
return context.MY_CARS.ToList();
}
}
一旦我更改了我的模型,相同的代码就不再有效了。
我将模型更改为:
MY_CARS:
ID NAME DESCRIPTION
MY_USER
ID NAME EMAIL
MY_USER_CARS
ID USER_ID CAR_ID
*USER_ID has a FK to MY_USER.ID
*CAR_ID has a FK to MY_CARS.ID
我相信导航属性现在给我带来了一个问题。
有没有办法仍然绑定到同一个类来抑制导航属性,还是必须将我的MY_CARS类映射到另一个类?
答案 0 :(得分:0)
这种方式不太可能被用作这个更多关于SmartUI反模式和另一个对象,视图模型更好地完成这项工作。字段的映射通常使用诸如Automapper之类的工具来完成。
以下情况可能有助于public static List<MY_CARS> GetAllCars()
{
using (var context = new Entities())
{
return context.MY_CARS.AsNoTracking().ToList();
}
}
:
{{1}}