嘘...
我认为这可以做到,但我现在无法弄清楚。
所以我创建了这个应用程序,它运行良好。但由于某种原因(太长无法解释抱歉)我需要预测下一个 ID 来自数据表。
请注意,最后一个 id + 1 将不起作用。我试过这个。
var lastProperty = db.Properties.OrderByDescending(p => p.PropertyID).FirstOrDefault();
int propID;
if (lastProperty == null)
{
propID = 1;
}
else
{
propID = 1 + lastProperty.PropertyID;
}
只要属性不被删除,它就可以工作......一旦删除,它当然会搞砸,因为假设我们 delete 6th Property
,最后一个将是5th
现在,并且使用该代码我们将得到6
5(last one) + 1
,并且我保存了Property
与PropertyID
6
我从该代码中获得的模型相关的模型,下一个将Property
是 7,因为数据库仍然记得 6 存在并已被删除...失败...PropertyID
Property
另外,我无法在保存后添加此Property
内容,我意识到这似乎是一种解决方案,但事实并非如此。它必须被预测。
谢谢...请帮忙...
更新
这是我要完成的用例。
Property
具有ID
Name
DataType
属性的模型。
List
具有ID
ListValue
PropertyID
属性的模型。
当在Property
中创建新用户类型Name
,并从预制下拉列表中DataType
选择一个值,如果该值是List
,它会打开包含列表框、文本框和按钮 ( add_Button
) 的附加表单。用户在文本框中输入值,然后单击 将add_Button
其添加到List
。
List
列表框是从模型填充的,并且add_Button
,将文本框中的值保存到的ListValue
属性中List
,正如您所见,我试图通过预测它的值来手动PropertyID
添加List
...
然后,在完成通过文本框添加所有想要的元素后,通过单击Create
按钮,Property
然后保存。
希望这已经足够清楚了。