关于CodeFirst异常:无法确定类型'XXX'和类型‘YYY’之间的关联的主体端,必须使用关系 Fluent API 或数据注释显式配置此关联的主体端。

此错误的原因是,你配置两个实体间的关系为一对一

然而我认为的一对一关系是,两者之间必须存在一个主体,

也就是说,你不能表1的外键是表2的主键并且表1的主键是表2的外键,

这样不符合数据库式吧?

我想多数人犯这个错误是无意的,并不是想表1的外键是表2的主键并且表1的主键是表2的外键,

怎么改呢?确定主体!

主体就是你要把其他实体的主键存进来的实体。

把非实体的导航属性删除就ok了。

关于CodeFirst异常:无法确定类型'XXX'和类型‘YYY’之间的关联的主体端,必须使用关系 Fluent API 或数据注释显式配置此关联的主体端。

时间: 2024-12-22 09:05:46

关于CodeFirst异常:无法确定类型'XXX'和类型‘YYY’之间的关联的主体端,必须使用关系 Fluent API 或数据注释显式配置此关联的主体端。的相关文章

在使用Linq to SQL并序列化一个数据对象的时候报System.InvalidOperationException异常,序列化类型XXX的对象时检测到循环引用。

在使用Linq to SQL并序列化一个数据对象的时候报System.InvalidOperationException异常,序列化类型 的对象时检测到循环引用. 异常信息(部分): System.Web.Services.Protocols.SoapException: 服务器无法处理请求. ---> System.InvalidOperationException: 生成 XML 文档时出错. ---> System.InvalidOperationException: 序列化类型 Web

WCF调试异常信息:找不到类型“”,在 ServiceHost 指令中提供为 Service 特性值,或在配置元素 system.serviceModel/serviceHosting

"/CommonHelpServices"应用程序中的服务器错误. 找不到类型"JianKunKing.Common.CommonHelp.Services.Service1",它在 ServiceHost 指令中提供为 Service 特性值,或在配置元素 system.serviceModel/serviceHostingEnvironment/serviceActivations 中提供. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪

类型“XXX”的控件“XXXX”必须放在具有 runat=server 的窗体标记内。

问题:类型“Grid1”的控件“XXXX”必须放在具有 runat=server 的窗体标记内. 注:Grid1为表格的ID. 查找网上的解决大致为: 1)把Grid放到<form runat="server"></form>间. 2)给Grid加标记runat="server". 查明前台Grid确实有加标记runat="server"的,而且表格是放在form中的. 解决方法:在后台代码加上以下重写方法 public

异常跟踪之CLR 类型到 EDM 类型的映射不明确

异常信息: "指定的架构无效.错误: CLR 类型到 EDM 类型的映射不明确,因为多个 CLR 类型与 EDM 类型“Person”匹配. 以前找到的是 CLR 类型“A.Person”, 新找到的则是 CLR 类型“B.Person”. 这类异常信息在代码里面出现过几次,每次的解决方案都让人匪夷所思.不知道为什么出现,也不知道为什么被解决了. 查阅了一些国外的资料,链接: Don't use classes with the same name - EF uses only class na

关于委托:异常{ 无法将 匿名方法 转换为类型&ldquo;System.Delegate&rdquo;,因为它不是委托类型 }

异常{ 无法将 匿名方法 转换为类型"System.Delegate",因为它不是委托类型 } 委托实际上是把方法名作为参数,但是若有好多个方法时,就要指明是哪个参数  查看如下代码: this.Invoke(delegate                 {                     MessageBox.Show("t4");                 }); 熟悉winform的开发者都知道,this是一个窗体的实例,故不做另外解释.该代

spring-boot 启动时候 出现异常:The bean &#39;xxx&#39; could not be injected as a &#39;xx.xxxx&#39; because it is a JDK dynamic proxy that implements:

The bean 'xxxService' could not be injected as a 'AaaXxxService' because it is a JDK dynamic proxy that implements: Action: Consider injecting the bean as one of its interfaces or forcing the use of CGLib-based proxies by setting proxyTargetClass=tru

使用Fluent API 配置/映射属性和类型

Code First约定-Fluent API配置 使用Fluent API 配置/映射属性和类型 简介 通常通过重写派生DbContext 上的OnModelCreating 方法来访问Code First Fluent API.以下示例旨在显示如何使用 Fluent API 执行各种任务,您可以将代码复制出来并进行自定义,使之适用于您的模型. 属性映射 使用Fluent API 配置/映射属性和类型 简介 通常通过重写派生DbContext 上的OnModelCreating 方法来访问Co

Object,scanner,String,StringBuffer,Java中基本类型的包装类型等

一.Scanner类 Scanner类:简单文本扫描器1.键盘录入步骤:(1)需要创建键盘录入对象:Scanner 键盘录入对象=new Scanner(System.in):(2)导包:import java.util.Scanenr(快捷键:ctrl+shift+o):(3)接收数据:XXX 变量名= 键盘录入对象.nextXXX():(例如:int 变量名=键盘录入对象.nextInt():).2.构造方法public Scanner(InputStream source):以输入流形式录

EF Codefirst(二)数据注释

CodeFirst通过分析我们在代码里编写的类,以及类之间的关系生成数据库表,以及表之间的各种关系.数据库的表会涉及到主键,外键,列是否为空,列类型等等. 我们要通过怎样的方式来暴露这些信息呢? CodeFirst通过DataAnnotations(在 System.ComponentModel.DataAnnotations 命名空间中 )特性类标示这些信息. 常用的一些标识如下 主键 如果不存在符合EF默认规则的主键时,用key标注也可.个人不赞成这样,遵守默认规则就好,免去不必要麻烦. p