database - 使用 Microsoft.EntityFramework.Sqlite.Core 插入标识
问题描述
我将如何修改我的 Add 方法,以便在每次执行插入时插入一个新标识。是否有一种干净的 LINQ 语法方法可以在不使用硬编码 SQL 的情况下执行此操作?
这是通过实体框架将数据保存到 SQLite 表的方法
public static void Add(CreditCardTableData creditCard)
{
using var context = new SqliteContext();
var entity = context.CreditCards.Add(creditCard);
entity.State = EntityState.Added;
context.SaveChanges();
}
这是表示表数据的类:
using System;
using System.Collections.Generic;
using System.Text;
namespace DebtRefresh.Domain.Data.DatabaseTables
{
public class CreditCardTableData
{
public int CreditCardTableId { get; set; }
public int CreditCardType { get; set; }
public string AccountNickName { get; set; }
public float CreditLine { get; set; }
public float OwingBalance { get; set; }
}
}
解决方案
在主键属性上使用DatabaseGenerated 属性
身份:ValueGeneratedOnAdd
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int CreditCardTableId { get; set; }
推荐阅读
- reactjs - ReactJS setState 用于无限嵌套对象
- java - 在 aws 上部署 war 文件后 JDBC 连接错误
- javascript - 使用 JS 从 csv 填充文本框并从结果页面中记录元素
- azure - 作业条件在前一阶段使用后评估为“null”
- haskell - 镜头中的视图和使用有什么区别?
- swift - 带有分页的 UICollectionViewCompositionalLayout - header + cell = fractionalHeight(1)
- reactjs - 从另一个组件访问状态
- arrays - 刷新问题:使用路径名和 url 数组在 React/Gatsby 中设置下一个和上一个链接
- javascript - 拆分字符串删除特殊字符,只在数组中写入相同的最后一个字符串
- r - 使用 mlr3 进行基准测试