做起来相对简单。在Items实体的_Created()方法中,添加一行代码以分配默认类型值。我更喜欢使用查询表来实体本地枚举,所以我通常会通过LINQ查询来完成此操作。假设以下entitie集合:
- 订单
- 的OrderItems
- OrderItemTypes
我的代码隐藏在的OrderItems的()方法创建会是这个样子。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.LightSwitch;
namespace LightSwitchApplication
{
public partial class OrderItem
{
partial void OrderItem_Created()
{
this.Quantity = 0;
if ((from OrderItemType oit in DataWorkspace.ApplicationData.OrderItemTypes
where oit.IsDefaultOrderItemType == true
select oit).Count() > 0)
{
this.OrderItemType = (from OrderItemType oit in DataWorkspace.ApplicationData.OrderItemTypes
where oit.IsDefaultOrderItemType == true
select oit).FirstOrDefault();
}
}
}
}
注意查询使用的OrderItemType实体IsDefaultOrderItemType领域确定为默认使用的OrderItemTypes条目。如果您愿意,您还可以使用OrderItemType.TypeName或您用于OrderItemType的任何描述符作为查询中的选择器。
希望有所帮助。 :)
PS:不要在_Changed()处理程序中以编程方式设置值,除非您想覆盖数据输入!