首先使用EF 6.X代码开发Asp.Net应用程序。 考虑以下模型:
public class Product
{
public int ProductId {get;set;}
...
}
现在我需要达到以下要求:
创建新记录时,
最佳解决方案是什么? EF中是否有内置支持?
这会令人困惑: 假设当前的产品ID为100.用户通过手动设置产品ID 150来创建新记录。那么下一个值101或151是什么?
答案 0 :(得分:1)
您可以使用HiLo生成器生成ID值。 HiLo生成器用于特别解决这种情况,特别是对于分布式数据库。这篇文章展示了如何使用EF6完成它。
http://joseoncode.com/2011/03/23/hilo-for-entityframework/
简而言之,您使用包含上次生成的id值的单独序列表,并且每次保存新项目时该值都会递增。