如何在visual studio lightswitch 2012中将属性值设置为自动增量

时间:2013-04-19 06:02:04

标签: c# visual-studio-2012 visual-studio-lightswitch lightswitch-2012

我想在表格中将属性值设置为默认自动增量,但是根据我的知识,他们没有选择在lightswitch2012中这样做,因为我最近开始学习lightswitch,非常轻。

确定这是真正的问题,这就是表格

[顾客] [ID,CUSTOMER_ID,名称]

我想将customer_id默认设置为id,除非手动将其更改为不同的值。

如何实现这个目标?

3 个答案:

答案 0 :(得分:0)

你是对的,LightSwitch中没有“自动增量”数据类型。 ID 属性自动递增,但这是一个特殊情况,由LightSwitch处理。

如果您附加到外部SQL数据库,如果您添加了一个整数标识列的列,尽管它只是显示为 LightSwitch中的Integer 属性,它仍会自动递增,因为它实际上是在SQL数据库本身完成的。

所有自动增量属性的问题在于,在保存记录之前,您将无法获得实际值。

我可以问你为什么需要自动增量属性吗?

答案 1 :(得分:0)

我可能误解了您要实现的目标,但如果您使用的是表格或网格,并且您希望为用户添加的每个新行设置各种实体的值(例如customer_id = id等。),您可以使用_Changed方法和Add事件以编程方式设置任何新行实体。

如果这与您正在寻找的内容相符,请观看Beth Massi的视频How Do I: Copy Data from One Row into a New Row?您应该能够调整她的代码以实现您的想法。

答案 2 :(得分:0)

在实体设计器中,不需要您的Customer_ID。 为Customers_Inserted编写代码。

然后,检查Customer_ID是否为空。如果是,请将ID字段复制到其中。

private void Customers_Inserted(Customer entity)
{
    if (entity.Customer_ID == null) {
        entity.Customer_ID = entity.ID;
    }
}