Asp.net mvc 尝试访问EF CodeFirst数据库时出现无效列名错误

Asp.net mvc 尝试访问EF CodeFirst数据库时出现无效列名错误,asp.net-mvc,asp.net-web-api,Asp.net Mvc,Asp.net Web Api,我正在尝试使用以下代码访问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(

我正在尝试使用以下代码访问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 ])
);

我做错了什么?如何修复此错误?

您的列名中有空格

[LoginId]、[Name]、[StockExchange]和[Symbol]在开始或结束处有空格,因此EF无法映射它

更改列名以排除空格,或者在实体类中显式映射它们

您可以使用DataAnnotation手动映射列,如

[Column(" LoginId")]

你的问题是什么?@Verdamelt对不起,我刚刚更新了这个问题