【发布时间】:2018-12-12 21:33:28
【问题描述】:
我正在尝试在我的代码中使用 Is Identity 来增加 TransactionId。但它显示以下错误:
SqlException:无法为标识列插入显式值 当 IDENTITY_INSERT 设置为 OFF 时,表 'TransactionHistories'。
我尝试使用[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] 语法。但它没有用。
public partial class TransactionHistories
{
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int TransactionId { get; set; }
public DateTime? TransactionDate { get; set; }
public long? CheckingAccountNumber { get; set; }
public long? SavingAccountNumber { get; set; }
[DisplayName("Transffered Amount")]
public decimal? Amount { get; set; }
public decimal? Transactionfee { get; set; }
public long? TransactionTypeId { get; set; }
}
TransactionHistories = new TransactionHistories();
TransactionTypes = new TransactionTypes();
if (!ModelState.IsValid)
{
return Page();
}
SavingAccounts.Balance = SavingAccounts.Balance - Amount;
CheckingAccounts.Balance = CheckingAccounts.Balance + Amount;
//TransactionHistories.TransactionId = TransactionHistories.TransactionId + 1;
TransactionHistories.TransactionDate = DateTime.Now;
TransactionHistories.CheckingAccountNumber = CheckingAccounts.CheckingAccountNumber;
TransactionHistories.SavingAccountNumber = SavingAccounts.SavingAccountNumber;
TransactionHistories.Amount = Amount;
TransactionHistories.Transactionfee = 0;
TransactionHistories.TransactionType = "SavingToChecking";
上面是我的模型类,TransactionId 是主键,这是我尝试使用 Is Identity 使其增加 1 的值。我怎样才能使这项工作?请给我任何建议和帮助。
【问题讨论】:
-
尝试在 DatabaseGenerateOption 之外添加
[key]属性或将字段更改为 classname + Id (TransactionHistoriesId) -
我尝试添加 [key] 属性但仍然无法正常工作。顺便说一句,更改类名对这个问题很重要吗?
-
您是否可以访问数据库,如果可以,是 SQL 吗?如果也是这种情况,您是否安装了 SSMS?您的金额显示名称也有错字
-
创建数据模型时,我正在使用 SSMS 并将数据从 SSMS 服务器检索到 Visual Studio。
标签: c# sql-server visual-studio entity-framework