我正在使用 EF 开发 Blazor Web 应用程序,每次运行该程序时,它都会在输出面板上显示:
Microsoft.EntityFrameworkCore.Database.Command: Error: Failed executing DbCommand (53ms) [Parameters=[], CommandType='Text', CommandTimeout='30'] SELECT [t].[ID], [t].[AMOUNT], [t].[CREATED_DATE], [t].[DOCUMENT_NUM], [t].[PARTICULARS], [t].[USERID], [t].[USER_ID]
Microsoft.Data.SqlClient.SqlException (0x80131904): Invalid column name 'USERID'.
在我的模型中:
public class TransactionModel {
public int ID { get; set; }
public string? DOCUMENT_NUM { get; set; }
public DateTime CREATED_DATE { get; set; }
public string? USER_ID { get; set; }
public EmployeeModel? USER { get; set; }
public string? PARTICULARS { get; set; }
public decimal AMOUNT { get; set; } }
我没有名为
USERID
的列,但由于某种原因,EF 数据库命令选择了 USERID
我可以手动更改 EF 数据库命令吗?或者有办法解决这个问题吗?
这应该根据您的数据模型。我假设 USER_ID 是
EmployeeModel? USER
的外键。
如果是这样,您可以尝试以下代码:
[ForeignKey("USER")]
public string? USER_ID { get; set; }