嘘...
我认为这可以做到,但我现在无法弄清楚。
所以我创建了这个应用程序,它运行良好。但由于某种原因(太长无法解释抱歉)我需要预测下一个 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 存在并已被删除...失败...PropertyIDProperty
另外,我无法在保存后添加此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然后保存。
希望这已经足够清楚了。