使用Kendo UI获得MVC4,Entity Framework数据库第一个项目。
我在网格中显示的模型如下所示:
public partial class RuleEntry
{
public RuleEntry()
{
this.RuleEntriesCases = new HashSet<RuleEntriesCas>();
}
[Key]
public int ID { get; set; }
public string Country { get; set; }
public Nullable<int> Family { get; set; }
public Nullable<int> IP { get; set; }
public string RuleKey { get; set; }
public Nullable<int> Status { get; set; }
public string Title { get; set; }
public virtual Country Country1 { get; set; }
public virtual Family Family1 { get; set; }
public virtual IP IP1 { get; set; }
public virtual RuleStatus RuleStatus { get; set; }
public virtual ICollection<RuleEntriesCas> RuleEntriesCases { get; set; }
}
属性Country可以是“SE”,并且是表“Country”的外键,其中包含名称“Sweden”。 Country模型如下所示:
public partial class Country
{
public Country()
{
this.RuleEntries = new HashSet<RuleEntry>();
}
[Key]
public string Code { get; set; }
public string Name { get; set; }
public virtual ICollection<RuleEntry> RuleEntries { get; set; }
}
我想要一个包含所有RuleEntry数据但带有相应外键名称的网格,此时只显示键。 我的网格代码如下:
@(Html.Kendo().Grid(Model)
.Name("Grid")
.Columns(columns =>
{
columns.Bound(p => p.Country);
columns.Bound(p => p.Family);
columns.Bound(p => p.IP);
columns.Bound(p => p.RuleKey);
columns.Bound(p => p.Status);
columns.Bound(p => p.Title);
})
.Groupable()
.Sortable()
.Scrollable(s => s.Height("auto"))
.Filterable()
.ColumnMenu())
我该怎么办?在模型,控制器或视图中?
谢谢
答案 0 :(得分:2)
在RuleEntry类中,为Country1添加ForeignKey属性,如下所示:
[ForeignKey("Country")]
public virtual Country Country1 { get; set; }
在您的网格中,使用columns.Bound(p => p.Country1.Name);