0

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

好的,这是真正的问题,这是桌子

[客户][id,customer_id,name]

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

如何实现这一目标?

4

3 回答 3

0

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

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

private void Customers_Inserted(Customer entity)
{
    if (entity.Customer_ID == null) {
        entity.Customer_ID = entity.ID;
    }
}
于 2013-08-13T15:50:48.310 回答
0

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

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

所有自动增量属性的问题是在保存记录之前您不会获得实际值。

我能问一下为什么你需要一个自增属性吗?

于 2013-04-19T13:30:07.427 回答
0

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

如果这与您正在寻找的内容相符,请观看 Beth Massi 的视频我如何:将数据从一行复制到新行? 您应该能够调整她的代码来完成我认为的您的想法。

于 2013-04-28T04:59:08.897 回答