相关疑难解决方法(0)

EF Code第一个无效列名"CategoryCategoryID"

有一个名为Northwind的现有数据库,带有一个webform应用程序.在运行应用程序时引发错误:'无效的列名称CategoryCategoryID'.谁帮帮我?提前致谢!!

Category.cs:

public class Category
{

    public int CategoryID { get; set; }
   // public int ID { get; set; }
    public string CategoryName { get; set; }
    public string Description { get; set; }
    public byte[] Picture { get; set; }
    public virtual ICollection<Product> Products { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

Product.cs:

public class Product
{

    public int ProductID { get; set; }
    //public int ID { get; set; }
    public string ProductName { get; set; }
    public Decimal? UnitPrice …
Run Code Online (Sandbox Code Playgroud)

entity-framework ef-code-first

13
推荐指数
1
解决办法
1万
查看次数

实体框架"无效的列名称"

我们已经将现有数据库转换为使用EF,因此我们编写类来映射到我们的表.我添加了一个新列,一个名为'iframeVideoId'的可空int.我用它绘制了它

public int? iframeVideoId { get; set; }
Run Code Online (Sandbox Code Playgroud)

当我搜索那张桌子的时候,它爆炸了

无效的列名称'错误

.这是一个简单的属性,它不是索引或与任何其他表相关.我尝试将它在DB中重命名为' DisplayVideo',并使其不可为空.然后我有

[Column("DisplayVideo")]
public int iframeVideoId { get; set; }
Run Code Online (Sandbox Code Playgroud)

现在我收到DisplayVideo不是有效列的错误.当然,我已经仔细检查过我指向正确的数据库,并确认我的代码COULD指向的每个数据库都有此列.我也做了一个干净的重建,并重新启动了我的机器.可能有什么不对?这是一个基本专栏,它就在那里.我从过去的经验中知道,如果类型不匹配(它们都是int),我会得到与类型之间转换失败相关的错误.这对我来说毫无意义.我没有要刷新的edmx文件,因为我们正在编写类来直接映射到DB

只是添加,我将列更改为字符串,它没有任何区别.这是一个新的专栏,具有简单的价值,EF声称它不存在.

并且,我将列添加到另一个表(显然是次优的),并且它立即工作.我仍然想知道为什么我有一个表我不能在EF中添加列

entity-framework ef-code-first

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

ef-code-first ×2

entity-framework ×2