【问题标题】:c# entity framework, sql to classesc#实体框架,sql转类
【发布时间】:2013-10-30 00:08:45
【问题描述】:

表格说明

Producer_Table as table: pro_id[int], pro_fname[varchar], pro_lname[varchar];

Artist_Table 作为表:pro_id[int]、artist_id[int]、artist_fname[varchar]、artist_lname[varchar];

Song_table 作为表:artist_id[int]、song_id[int]、song_name[varchar]、song_length[time]

C# using(Datacontext context = new Datacontext())

{

    Iqueryable<'Artist_Table> artist_query = context.Artist_Tables.where(aID =>     aId.artist_id == 8);

//现在说我要复制查询返回的所有数据和 //保留原始数据, //但是将此数据添加到新的 Artist_Table 对象中。

foreach(artist_query 中的Artist_Table artItem)

{ 
    //Everything's good here.
    Artist_Table artistObj = new Artist_Table();
    artistObj.artist_fname = "Dally";
    artistObj.artist_lname = "Winston";

//现在我希望将所有 Song_table 数据复制到这个新创建的实体。
//所以它会被复制,但具有不同的唯一 ID 值。
//..我确实做了另一个 foreach(Song_query 中的 Song s),但它花了很长时间。

    }  
}

【问题讨论】:

  • 没有看到一些代码很难说。谁知道你用什么方法来执行这个过程?
  • 好的,谢谢。我会把东西放在一起。我的开发机器在单独的网络上。
  • “需要很多时间”是什么意思?写代码的时间多还是执行的时间多?
  • 好吧,如果我不得不猜测,根据您提供的大量代码示例,我不得不得出结论,您正在遍历属性几次,而不是在并行或管道模式下。如果您只需要复制数据,为什么不考虑 SMO?
  • 对不起,我完全搞砸了问题的原始部分。这变得丑陋了。基里尔,我的意思是我必须遍历每个实体并创建一个新实例以将原始副本写入具有自己唯一标识符的数据库。

标签: c# sql entity-framework linq-to-sql


【解决方案1】:

如果有帮助,请使用 SQL 管理对象。根据您要传输的数据量,它可能是适合您的解决方案。

【讨论】:

  • - 1. OP 正在使用一种技术并表示他遇到了问题。我们不知道他的问题的细节,但答案不是仅仅为了它而“使用另一种技术”。
  • 没错,这里没有挑战。这个答案是在几乎没有代码可看时发布的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-07
  • 2021-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多