我将简单模型定义为
public class Project
{
public int Id { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public int StatusId { get; set; }
public virtual Status Status { get; set; }
}
public class Status
{
public int Id { get; set; }
public string Name { get; set; }
}
所以,目前如果我尝试使用breeze创建一个新的Project Entity,它会使用null
初始化导航属性“Status”。如何使用默认值初始化它?请注意,我不希望任何绑定与该字段的下拉字段至少对于创建操作。
function createNewProject() {
return manager.createEntity('Project');
}
答案 0 :(得分:1)
您可以为Project
实体类型定义自定义构造函数,并在其中设置默认的StatusId
值。 Status
导航属性将设置为相关的状态实体(假设实体位于breeze缓存中)。例如:
function Project() {
this.StatusId = desiredDefaultStatusEntityId;
}
var manager = new breeze.EntityManager('...');
manager.metadataStore.registerEntityTypeCtor('Project', Project);
请查看Extending entities以获取有关扩展实体的更多信息。