c# - 如何在实体框架代码中按分支和年份生成自定义序列号
问题描述
如何在实体框架代码中首先按分支和年份生成自定义序列号(自动增量)如果我添加新记录并更改分支或年份,它会自动生成一个新序列号
我需要给这个模型添加属性
public class Stock
{
public Guid ID { set; get; }
public Int64 SerialNo { set; get; }
public int Year { set; get; }
public string Baranch { set; get; }
public string Item { set; get; }
public decimal Price { set; get; }
}
像这样输出
| _ID_ |_SerialNo_|_Year_|_Branch_|_Item_|_Price_|
|97A7A400-B6AB-4AB2-AF0C-0280641223A1| 1 | 2018 |Main |Corola|250$ |
|1ED15B3E-2B7D-400B-8098-EEDD50C121E3| 2 | 2018 |Main |Camry |750$ |
|4A06A5AF-8BF7-4F43-9E1C-11B94BC56060| 3 | 2018 |Main |Atoz |100$ |
|3437E251-36B9-4967-B2C3-9DAFAD2B997A| 1 | 2017 |Main |C7 |300$ |
|2F501488-89C7-4609-8BFF-5580A7A5A8CB| 2 | 2017 |Main |Corola|720$ |
|09C9FF51-3ABC-436D-B3CF-67B71F7AAFD6| 3 | 2017 |Main |GMC |500$ |
|DA566E19-258D-4FB5-8B8F-9FCF102F98FC| 1 | 2015 |Bar2 |Other |450$ |
|727410AA-B420-427D-9ED5-7927DD269DFC| 2 | 2015 |Bar2 |C7 |300$ |
|228F599F-89D4-45C3-B6FE-8E236D07485D| 3 | 2015 |Bar2 |Corola|720$ |
|46ECFA2E-5252-4E4C-8A3B-7F067B37208E| 4 | 2015 |Bar2 |GMC |500$ |
|79037BCE-4D18-458B-BF54-18BC2115697E| 1 | 2018 |Bar2 |Other |450$ |
|D75A18AF-48B4-404F-9D0F-997A14C4DE0E| 2 | 2018 |Bar2 |Other |450$ |
解决方案
您可以在构造函数中创建一个新的 Guid,如下所示:
public class Stock {
...
public Stock() {
this.ID = Guid.NewGuid();
}
...
}
推荐阅读
- c# - 从 API 中仅返回对象属性的子集
- ios - 允许某些应用使用命令行访问钥匙串
- r - 避免在多列比较中使用嵌套循环
- php - 如果包含字符串,则获取方括号之间(包括方括号)的所有内容
- c++ - VS 2017 在编译适用于 Linux 的 CMake 项目时出现意外行为
- typescript - 使用类作为可以传递给函数的接口
- html - 如何选择“最后一个孩子的最后一个孩子”?
- android - Android中文本和尺寸的最佳单位
- google-sheets - 尝试使用宏制作脚本 - 代码太长
- apache - 当在 Apache 上指定 X-Frame-Options 时,如何修复 Safari 忽略 Content-Security-Policy?