• 为类型“xxxx”多次调用了 Map,且其中至少有一个调用未指定目标表名称。


    ef的继承映射真的是能搞死人啊。。。小结一下:

    下图中的代码,ResponseTextMessage、ResponseNewsMessage、ResponseMethodMessage等几个类都是ResponseBaseMessage的子类,我要把他们映射到不同的表中,并且用MsgType来区分,并且给他指定固定的值。

    这里需要注意的是,每个Map里面都要写 t.ToTable("ResponseBaseMessage");这句,不写就报如标题的这个错。

     public class ResponseBaseMessageMap : EntityTypeConfiguration<ResponseBaseMessage>
        {
            public ResponseBaseMessageMap()
            {
                ToTable("ResponseBaseMessage");
                HasKey(x => x.Id);
                HasMany(x => x.RequestMessages);
                Map<ResponseTextMessage>(t =>
                {
                    t.ToTable("ResponseBaseMessage");
                    t.Requires("MsgType").HasValue((int) ResponseMsgType.Text);
                });
                Map<ResponseNewsMessage>(t =>
                {
                    t.ToTable("ResponseBaseMessage");
                    t.Requires("MsgType").HasValue((int) ResponseMsgType.News);
                });
                Map<ResponseMethodMessage>(t =>
                {
                    t.ToTable("ResponseBaseMessage");
                    t.Requires("MsgType").HasValue((int) ResponseMsgType.Method);
                });
                Map<ResponseMusicMessage>(t =>
                {
                    t.ToTable("ResponseBaseMessage");
                    t.Requires("MsgType").HasValue((int)ResponseMsgType.Music);
                });
    
            }
        }

    子类中其他属性的映射:

      public class ResponseNewsMessageMap : EntityTypeConfiguration<ResponseNewsMessage>
        {
            public ResponseNewsMessageMap()
            {
                this.HasMany(x => x.Items);
            }
        }
    

     这篇文章写的还不错:http://www.cnblogs.com/Gyoung/archive/2013/01/25/2874589.html

  • 相关阅读:
    搭建vue项目脚手架
    vue项目中的iconfont图标下载及配置
    vue-awesome-swiper 轮播图的使用
    IDEA自动生成Mapper和实体文件
    云服务器通过IP如何访问项目
    社保,步入社会的第一步
    Memcached安装与启动
    IDEA提示非法字符,你不懂的UTF-8
    MyEclipse导入eclipse的web项目,将WebRoot切换为WebContent
    Myeclipse2017删除tomcat后,项目全部报错的解决办法
  • 原文地址:https://www.cnblogs.com/baiyunchen/p/4851141.html
Copyright © 2020-2023  润新知