首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >无效列名*Id

无效列名*Id
EN

Stack Overflow用户
提问于 2016-04-12 12:42:45
回答 1查看 7.2K关注 0票数 3

我知道问题所在:我错过了一个帮助EF理解两个表之间关系的映射,但我不知道我的错误在哪里。

我有一个使用EF CF 7的Web。我可以很好地查询并获取父表数据,但是当我试图包含相关的子数据时,我得到的是无效的列错误。

我的两张桌子看起来是这样的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class Categories
{
    private ICollection<SubCategories> _subcat;
    public int Id { get; set; }
    public string Category { get; set; }
    public virtual ICollection<SubCategories> SubCategories
    {
        get { return _subcat ?? (_subcat = new List<SubCategories>()); }
        set { _subcat = value; }
    }
}

public class SubCategories
{
    public int Id { get; set; }
    public string SubCategory { get; set; }
}

上面的类与我的db模式匹配,但SubCategories表有一个列CategoryId,它是父表Id列的FK。

我的存储库查询如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
return _context.Categories.Include(i => i.SubCategories).ToList();

现在,错误是抛出me...and,我模糊地记得,它与EF连接名称有关。在这种经验中,有一个基类定义了Id,因此当我在类中定义它时,它会发生冲突,但这里不是这样的吗?

无效的列名“类别”。

所以我有谷歌,读了几篇文章,但要么我没有完全理解,要么它们不是我的问题--可能是前者。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-12 13:02:46

上面的类与我的db模式匹配,但SubCategories表有一个列CategoryId,它是父表Id列的FK。

如果您的表名为类别,但是您的FK名为CategoryId,那么您将遇到问题。不一致的多元化。

或者将FK重命名为CategoriesId,或者更好地遵循单数类名的更为常见的约定(只有集合的实例是复数的),并将表和类名更改为类别。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36583677

复制
相关文章
java.sql.SQLException: 列名无效
在进行jdbc操作时,出现了如下图的bug: 错误原因:在执行sql语句后,进行遍历,但是取值与数据库中的列名不一致。 主要是因为字段名错误,如下,本来应该从数据库中取emp表中的realName字段
时间静止不是简史
2020/07/24
2.7K0
java.sql.SQLException: 列名无效
因为安全原因 Apple ID 无效的解决办法
在 iPad 下载和更新程序的时候看到 “因为安全原因这个 Apple ID 已经无效” 的提示,原来以为是下载破解的程序,账号被苹果给锁定账号了,可能要重新申请一个账号才能使用了。
Denis
2023/04/15
8050
win10 uwp 应用包上传失败无效的软件包系列名称
在 2021 的时候,微软为了解决开发者不小心将应用商店证书上传到 GitHub 而不再提供应用商店证书文件下载到代码文件夹里面,因此日常开发中将会使用自己本地创建的证书。但是在实际准备发布的时候,如果没有切换证书,那么将会使用本地创建的证书进行打包,而在上传应用商店步骤失败
林德熙
2021/03/24
1.2K0
C#程序连接数据库插入数据是提示报错列名"XXX"无效
原因:在程序中值没有给他加引号,所以当成int型处理了。 解决方法: 加上引号就行了,而且sql的单引号双引号是一样的。
SingYi
2022/07/14
9650
C#程序连接数据库插入数据是提示报错列名"XXX"无效
Oracle报错ORA-00904: 标识符无效 ,但是列名和表名都没有写错
一般情况下,标识符错误是因为:语句中的列名在表中不存在,修改sql语句或者修改列名即可。
星哥玩云
2022/08/17
9.6K0
Excel表列名称
这道题类似于10进制转化2进制,通过辗转相除求出各个位置上的数字。但这里有个坑,2进制时它是满2进1,是0 - 2。A - Z是26个数,这里A为1,即1 - 26(实际上是27进制,但是又没有0位)。我们需要把他各个位置上的数看成0 - 25,即26进制。这样的话,在每次取模的时候,我们需要把当前的数进行减一处理。
_kyle
2020/12/01
1.4K0
SQL--动态列名
前几天遇到一个问题,就是查询时,列名是不固定的,是动态的,是一个传递过来的变量,简写如下:
IT云清
2019/01/22
2.4K0
修改表名列名mysql_怎么修改mysql的表名和列名?
在mysql中,可以通过“ALTER TABLE 旧表名 RENAME 新表名;”语句来修改表名,通过“ALTER TABLE 表名 CHANGE 旧字段名/列名 新字段名/列名 新数据类型;”语句来修改列名。
全栈程序员站长
2022/08/30
11.7K0
修改表名列名mysql_怎么修改mysql的表名和列名?
Oracle 无效对象查询,编译无效对象
查看当前无效对象 select * from dba_objects t where t.status = 'INVALID' order by 1; 编译无效对象: 有两种方式: 1、执行sql查询结果: select 'alter '||object_type||' '||owner||'.'||object_name||' compile;' from dba_objects t where t.status = 'INVALID' order by 1; 2、脚本编译: sqlplu
Lucifer三思而后行
2021/09/22
3K0
168. Excel表列名称
给定一个正整数,返回它在 Excel 表中相对应的列名称。 例如, 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB ... 示例 1: 输入: 1 输出: "A" 示例 2: 输入: 28 输出: "AB" 示例 3: 输入: 701 输出: "ZY" 解:其实就是10进制转26进制。 class Solution { public String convertToTitle(in
张伦聪zhangluncong
2022/10/26
6460
checkout无效
前景 日常工作中,遇到的一些checkout无效或者commit提交不了的情况 1.首先 你需要update的项目 会告诉你更改了那些配置,必须要还原或者提交 git pull 2.暂存提交 git stash 命令的意思是将这些更改过的配置 暂存起来,注意是暂存 3.更新 git pull #拉取最新代码 4.取暂存 git statsh pop 5.检查是否可以checkout或者commit 最后你发现之前暂存的配置,以及取出来并且成功替换了update之后的配置
cywhat
2022/11/22
2.3K0
DataFrame中文列名对齐的问题
然而我的强迫症又发了,标题为什么对不齐啊。网上一研究,是因为标题是中文所致,解决方法:
用户1075292
2020/02/18
2.8K0
DataFrame中文列名对齐的问题
mysql 修改 表名 列名 为小写
SELECT CONCAT( ‘ALTER TABLE ‘, table_name, ‘ RENAME ‘, LOWER( table_name ), “;” ) AS statement FROM information_schema.TABLES WHERE table_schema = ‘数据库’ AND table_name LIKE ‘表名%’;
全栈程序员站长
2022/09/03
4.1K0
websocket注入无效
@Autowired等注入无效 解决方法:在需要使用你想注入的service的地方用如下方式引用: GameRecordService gameRecordService = applicationContext.getBean(GameRecordService.class);
似水的流年
2019/12/05
2.1K0
javacsv 根据列名获取不到第一列问题
发现有一列通过get(String columnName)方式获取不到,其他列都可以,而且名称反复核对都OK。
明明如月学长
2021/08/27
1.1K0
LeetCode 168. Excel表列名称
1. 题目 给定一个正整数,返回它在 Excel 表中相对应的列名称。 例如, 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB ... 示例 1: 输入: 1 输出: "A" 示例 2: 输入: 28 输出: "AB" 示例 3: 输入: 701 输出: "ZY" 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/excel-s
Michael阿明
2020/07/13
6910
Leetcode No.168 Excel表列名称
1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB ...
week
2021/05/06
6000
Face ID和Touch ID 译文and集成篇Face ID和Touch ID
译文篇: Face ID和Touch ID 尽可能支持生物识别。Face ID和Touch ID是人们信任的安全,熟悉的身份验证方法。如果用户启用了生物认证,您可以假定他们了解其工作原理,欣赏其方便性
GuangdongQi
2018/05/24
3.5K0
点击加载更多

相似问题

无效列名“saleStatus_id”

10

无效列名"User_Id“

14

Django错误:无效列名'id‘

13

实体框架-无效的列名‘*_ID’

192

Server无效列名__$command_id

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文