zhpsdbx 2014-05-18 16:04 采纳率: 0%
浏览 2556

Entity Framework使用Code First 插入数据时,多出来额外的数据

在项目总使用Code First遇到坑爹的问题了
例如我有如下类:
public class Catalog
{
public Int32 ID { get; set; }
public String CatalogName { get; set; }
public Catalog() { }
public Catalog(Int32 ID, String Name)
{
this.ID = ID;
this.CatalogName = Name;
}
}

然后有另一个类引用该类:
public class CatalogClassify
{
public Int32 ID { get; set; }
public Catalog catalog { get; set; }
public String Name { get; set; }
public CatalogClassify(){ }
    public CatalogClassify(Int32 ID, Catalog catalog, String Name){
this.ID = ID;
this.catalog = catalog;
this.Name = Name;
}
}

这两个类都映射到数据库中并存储起来。
假如我已有一个Catalog对象映射到数据库其数据库中相应的数据为:{1,"MyName"};
而我现在要一个CatalogClassify对象也插入到数据中其代码为:
Catalog catalog = new Catalog(1,"MyName")
CatalogClassify myCatalog = new CatalogClassify(1,catalog,"TestName");
然后在将myCatalog对象插入到数据库中,这时会发现在Catalog对象对应的表中有两行数据,分别为{1,"MyName"},{2,"MyName"}.
但是这不是我想要的结果,我只是想让myCatalog对象引用一个已有的Catalog对象,而不是在数据库中创建任何新的数据了。
求大神提供解决方案啊

  • 写回答

1条回答

  • feiyun0112 2014-05-19 01:19
    关注

    这里就不要新建
    Catalog catalog = new Catalog(1,"MyName")

    而是从数据库把id=1的找出来

    评论

报告相同问题?

悬赏问题

  • ¥15 SQL Server下载
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥15 python爬取bilibili校园招聘网站
  • ¥30 求解达问题(有红包)
  • ¥15 请解包一个pak文件
  • ¥15 不同系统编译兼容问题
  • ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?
  • ¥30 数字电源对DSP芯片的具体要求