System.InvalidOperationException: The type MyContext+Northwind was not mapped.

简介:

System.InvalidOperationException: The type MyContext+Northwind was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from EntityObject.

错误原因:

 entity framework不能将内部类与数据库匹配。

错误代码如下所示:

复制代码
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Data.Entity;
 6 using System.ComponentModel.DataAnnotations;
 7 
 8 namespace TestCodeFirst
 9 {
10     public class MyContext
11     {
12         public class Product
13         {
14             public int ProductID { get; set; }
15             public int CategoryID { get; set; }
16             [Required(ErrorMessage = "Product Name不能为空")]
17             public string ProductName { get; set; }
18             public Decimal? UnitPrice { get; set; }
19             public bool Discontinued { get; set; }
20             public virtual Category Category { get; set; }
21         }
22 
23         public class Category
24         {
25             public int CategoryID { get; set; }
26             public string CategoryName { get; set; }
27             public string Description { get; set; }
28             public byte[] Picture { get; set; }
29             public virtual ICollection<Product> Product { get; set; }
30         }
31         public class Northwind : DbContext
32         {
33             public DbSet<Product> Products { get; set; }
34             public DbSet<Category> Categorys { get; set; }
35         }
36     }
37 }
复制代码


解决的办法:Northwind作为内部类。正确的代码如下所示

复制代码
 1 namespace TestCodeFirst
 2 {
 3        public class Product
 4        {
 5            public int ProductID { get; set; }
 6            public int CategoryID { get; set; }
 7              [Required(ErrorMessage="Product Name不能为空")]
 8            public string ProductName { get; set; }
 9            public Decimal? UnitPrice { get; set; }
10            public bool Discontinued { get; set; }
11            public virtual Category Category { get; set; }
12        }
13 
14        public class Category
15        {
16            public int CategoryID { get; set; }
17            public string CategoryName { get; set; }
18            public string Description { get; set; }
19            public byte[] Picture { get; set; }
20            public virtual ICollection<Product> Product { get; set; }
21        }
22        public class Northwind:DbContext
23        {
24            public DbSet<Product> Products { get; set; }
25            public DbSet<Category> Categorys { get; set; }
26     }
27 }
复制代码

 本文转自陈哈哈博客园博客,原文链接http://www.cnblogs.com/kissazi2/archive/2013/01/04/2843944.html如需转载请自行联系原作者


kissazi2

相关文章
|
8月前
“可以成为我的恋人吗”HTML源码
“可以成为我的恋人吗”HTML源码,双击html文件可以本地运行,打开HTML页面,上面显示可以或者不要,越是拒绝,可以的按钮就会越来越大,直到点击可以为止
886 0
“可以成为我的恋人吗”HTML源码
|
11月前
|
边缘计算 运维 Cloud Native
阿里云基于云原生的大规模云边协同关键技术及应用荣获浙江省科学技术进步一等奖
11月22日, 2023年度浙江省科学技术奖获奖成果公布,阿里云与浙江大学、支付宝、谐云科技联合完成的基于云原生的大规模云边协同关键技术及应用获得浙江省科学技术进步一等奖。
|
10月前
|
机器学习/深度学习 人工智能 前端开发
【AI系统】图算 IR
本文全面介绍了计算图的概念及其在AI框架中的应用,涵盖计算图的基本构成、与自动微分的关系、静态图与动态图的生成及特点,以及计算图对AI编译器的重要作用。文章详细解析了计算图的结构,包括张量和算子的角色,探讨了AI框架如何通过计算图实现自动微分,同时对比了静态图和动态图的优缺点,指出了计算图在优化AI编译器性能方面的关键作用。
278 0
|
机器学习/深度学习 人工智能 安全
针对AI模型的对抗性攻击日益增多:你现在应该怎么做?
针对AI模型的对抗性攻击日益增多:你现在应该怎么做?
|
存储 分布式计算 大数据
阿里云 EMR 强势助力,与阿里云大数据体系共创辉煌,把握时代热点,开启生态建设之旅
【8月更文挑战第26天】阿里云EMR(Elastic MapReduce)是一种大数据处理服务,与阿里云的多个服务紧密结合,共同构建了完善的大数据生态系统。EMR与对象存储服务(OSS)集成,利用OSS提供可靠、低成本且可扩展的数据存储;与MaxCompute集成,实现深度数据分析和挖掘;还支持数据湖构建服务,加速数据湖的搭建并简化数据管理与分析过程。EMR提供多种编程接口及工具,如Hive、Spark和Flink等,帮助用户高效完成大数据处理任务。
404 2
|
开发工具 数据安全/隐私保护 开发者
最全的 pip 使用指南,50% 你可能没用过。
最全的 pip 使用指南,50% 你可能没用过。
378 1
|
监控 数据可视化 测试技术
什么是非功能性测试?
什么是非功能性测试?
344 0
|
供应链 算法
深度 | 5分钟读懂阿里零售通智慧供应链平台
大家好,先做个简单自我介绍,过去十年更多是在2B类业务方面做技术架构和研发工作,近两年专注在零售通供应链方面的技术架构和研发的工作。从技术视角分享二点最近几年感受比较深刻的,第一个点,从技术的架构的升级,从过去的电商架构到现在新零售的架构,比如从过去信息平台到交易平台再到现在供应链协同平台,其架构演进的核心动力是互联网、大数据等技术与商业不断融合和发展。
14204 0
|
存储 小程序 开发工具
aui
AUI Kits低代码集成工具是音视频终端SDK提供的基于AUI Kits框架,面向泛娱乐场景的互动直播能力,您可以根据业务需求复用AUI Kits低代码集成工具中的功能模块,快速搭建互动直播、电商直播等功能,降低研发成本和周期,提升业务效果。
252 1
|
存储 前端开发 测试技术
同城交友开发稳定版丨同城交友app系统开发详细程序/案例设计/方案逻辑/规则详情/源码设计
需求分析:明确系统的功能、特点和目标受众,并根据市场需求进行需求调研,从中提取核心功能和关键需求。