今天我在VisualStudio 2012中使用了LightSwitch。我遇到了以下问题:
我有一个由EntityFramework(代码优先)创建的数据库,GUID作为每个表的主键。
我使用此数据库作为LightSwitch项目的数据源。
现在,在使用LightSwitch创建新项目时,我当然希望隐藏用户的主键,因为它是由数据库生成的。不幸的是,gui一直在验证该字段,即使我从屏幕上删除它。我无法保存新项目,因为验证要求我输入主键字段的值。
我认为我没有使用完全不常见的设置,那么如何解决这个简单的问题?
我已经尝试在服务器端预先填充创建事件中的guid,但即使我在屏幕上包含该字段,它仍然是空的......
答案 0 :(得分:1)
我发现创建的代码实际上并没有运行,直到您尝试并首次插入实体(由于验证错误而无法访问该实体)
我找到的解决方案(这不是理想的)是使用带有空guid(“00000000-0000-0000-0000-000000000000”)]的javascript填充id,然后在entity_inserting(..)中覆盖它/ p>
由于服务器上的ID与其ID不同,客户端会感到困惑,这并不理想。
据说,应该在数据库中生成ID,但我没有运气。
答案 1 :(得分:1)
我发现的另一个解决方案是设置一个为GUID提供服务的控制器,然后在客户端获取这些guid。
这将允许客户端在没有页面刷新的情况下引用该对象。
如果你想要一些代码来做,只需评论或upvote或其他东西..