我正在尝试使用以下代码访问EF表
public void UserLogin(string UserId, string Password)
{
var ErrorMessage = "";
int ErrorCode = 0;
var result = db.Users.Where(x => (x.LoginId.Equals(UserId) && x.Password.Equals(Password)));
var favourites = db.Favourites.Where(x => x.LoginId.Equals(UserId)).ToList();
}
我使用table["Table name"]
选项仍然显示相同的错误
在收藏夹表中,我收到以下错误 -
{"Invalid column name 'LoginId'.\r\n
Invalid column name 'LoginId'.\r\n
Invalid column name 'LoginId'.\r\n
Invalid column name 'Name'.\r\n
Invalid column name 'StockExchange'.\r\n
Invalid column name 'Symbol'."}
这是我的收藏夹模型的样子 -
[Table("Favourites")]
public class Favourites
{
[Key]
public int FavId { get; set; }
public String LoginId { get; set; }
public String LastTradePriceOnly { get; set; }
public String Name { get; set; }
public String StockExchange { get; set; }
public String Symbol { get; set; }
public String MarketCapitalization { get; set; }
}
这是表格的数据定义 -
CREATE TABLE [dbo].[Favourites] (
[FavId ] INT IDENTITY (1, 1) NOT NULL,
[ LoginId] NVARCHAR (MAX) NULL,
[LastTradePriceOnly] NVARCHAR (MAX) NULL,
[ Name] NVARCHAR (MAX) NULL,
[ StockExchange] NVARCHAR (MAX) NULL,
[ Symbol ] NVARCHAR (MAX) NULL,
[MarketCapitalization] NVARCHAR (MAX) NULL,
CONSTRAINT [PK_Favourites] PRIMARY KEY CLUSTERED ([FavId ])
);
我做错了什么?我该如何修复错误?
答案 0 :(得分:0)
列名中有空格!
[ LoginId]
,[ Name]
,[ StockExchange]
& [ Symbol ]
在开头或结尾有一个空格,因此EF无法映射它。
更改列名以排除空格或在实体类中显式映射它们。
您可以使用DataAnnotations手动映射列,如此...
[Column(" LoginId")]