动态数据 - 当主键是字符串时不能插入(不是自动生成的)

时间:2013-07-22 21:38:21

标签: c# asp.net dynamic-data

我的实体在数据库中有一个字符串主键(nvarchar(2))。

我的问题是 - 在我的动态数据应用程序中,Insert.aspx页面不会呈现“插入”和“取消”按钮。

我的问题是 - 我是否需要使用任何特殊属性标记主键?

PS - 我相信这与主键有关。我有另一个带有整数主键的实体,它是自动生成的(identity(1,1)),插入和取消按钮也相应地呈现。

非常感谢。

修改

我发现问题与主键未自动生成有关。我有一个具有自动生成的整数主键的实体,它工作得很好。另一方面,如果主键是整数但不是自动生成的,我会观察到上述问题。非常感谢。

1 个答案:

答案 0 :(得分:0)

所以问题是当主键是一个字符串时(而不是自动生成的),Insert.aspx中的Insert LinkButton没有呈现(编辑{{1}时出现了同样的问题)在Edit.aspx)。

我试着改变EDMX设计师中的LinkButton而没有运气。

最后,这对我有用 - 打开Insert.aspx并找到这两个StoredGeneratedPattern

LinkButtons

只需将<asp:LinkButton runat="server" CommandName="Update" Text="Update" CssClass="button" /> <asp:LinkButton runat="server" CommandName="Cancel" Text="Cancel" CausesValidation="false" CssClass="button" /> 替换为LinkButtons即可。确保验证输入的主键是否已存在于数据库中。谢谢。