рдСрд░реНрдЪрд░реНрдб рд╕реАрдПрдордПрд╕: рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рд╛рдЗрдЯ рд╕рд╛рдордЧреНрд░реА

рдПрдХ рд╕реНрдерд┐рддрд┐ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ: рдЖрдкрдХреЛ рдХреБрдЫ рдбреЗрдЯрд╛ рдХреА рдПрдХ рдмрдбрд╝реА рд░рд╛рд╢рд┐, рдСрд░реНрдЪрд░реНрдб рдкрд░ рдмрдиреА рд╕рд╛рдЗрдЯ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░, рдХреИрдЯрд▓реЙрдЧ рд╕рд╛рдЗрдЯ рдЖрджрд┐ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдореЗрдВ рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдХрд╛рд░реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рди рд▓реЗрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдореЙрдбрд▓ рдХрд╛ рдирд╛рдо, рдореВрд▓реНрдп, рдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╡рд░реНрд╖ рдФрд░ рдЙрдкрд▓рдмреНрдз рдХрд╛рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдСрд░реНрдЪрд░реНрдб рдХреЗ рд╕реНрд░реЛрддреЛрдВ рдФрд░ рд▓реЗрдЦрди рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рдХрд╛рдлреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд▓реЗрдЦреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдХрдВрдЯреЗрдВрдЯ рдЯрд╛рдЗрдк рдмрдирд╛рдПрдВред

рдореЙрдбрд▓ - рдЧреБрдг рдХреЗ рд╕рд╛рде рдХрд╛рд░ рд╡рд░реНрдЧ рдореЙрдбрд▓, рдореВрд▓реНрдп, рд╡рд░реНрд╖, рдорд╛рддреНрд░рд╛:

public class CarPartRecord : ContentPartRecord { public virtual string Model { get; set; } public virtual decimal Price { get; set; } public virtual int Year { get; set; } public virtual int Quantity { get; set; } } public class CarPart : ContentPart<CarPartRecord> { public string Model { get { return Record.Model; } set { Record.Model = value; } } public decimal Price { get { return Record.Price; } set { Record.Price = value; } } public int Year { get { return Record.Year; } set { Record.Year = value; } } public int Quantity { get { return Record.Quantity; } set { Record.Quantity= value; } } 


рджреЗрдЦреЗрдВ:

  @T("Model: ") @Model.Model<br /> @T("Price: ") @Model.Price<br /> @T("Year: ") @Model.Year<br /> @T("Quantity: ") @Model.Quantity<br /> 


рдареАрдХ рд╣реИ, рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдСрд░реНрдЪрд░реНрдб рдореЗрдВ рдХрд╛рд░ рдХреИрдЯрд▓реЙрдЧ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ?

рдЬрд╛рд╣рд┐рд░ рд╣реИ, 50 рд╕реЗ рдЕрдзрд┐рдХ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рдбреЗрдЯрд╛ рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд╕рд╛рде, рдореИрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ рд╕реАрдПрдордПрд╕ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдСрд░реНрдЪрд░реНрдб рдореЗрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, 5 рд╕рдВрдмрдВрдзрд┐рдд рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рд░рд┐рдХреЙрд░реНрдб рдЬреЛрдбрд╝рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ:



рдЖрдЧреЗ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╕рдВрднрд╡ рд╣реИрдВ: SQL рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ LINQtoSQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдЬрдм рдореИрдВрдиреЗ рдкрд╣рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рдЪреЗрдХ рдХрд┐рдпрд╛, рддреЛ рдореИрдВ рдлреЙрд░реНрдо рдХреЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛

 insert ... select ... 

рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб (3000+ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ) рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рдХрд╛рд░реНрдп рд╕рдордп (рдХрдИ рдШрдВрдЯреЛрдВ рдХреЗ рдХреНрд░рдо рдореЗрдВ) рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рд╣рдо рджреВрд╕рд░реЗ рд╡рд┐рдХрд▓реНрдк рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗ: рд╣рдо рдПрдХ рд╕рд░рд▓ WinForms рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦреЗрдВрдЧреЗ, рдЬрд┐рд╕реЗ рд╣рдо рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░реЗрдВрдЧреЗред

рдЖрдпрд╛рдд рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп, 5 рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдХрд╣рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЙрдкрд░реЛрдХреНрдд рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

 private CarPartRecord create(/*   CSV-, XMLNode       */) { CarPartRecord record = new CarPartRecord(); record.Model = // record.Price = //   ContentPart record.Year = //  record.Quantity = // return record; } private Orchard_Framework_ContentItemRecord related1_create() { Orchard_Framework_ContentItemRecord record = new Orchard_Framework_ContentItemRecord(); record.ContentType_id = 9; //    "" CMS  8  ContentType,     return record; } private Orchard_Framework_ContentItemVersionRecord related2_create(CarPartRecord item) { Orchard_Framework_ContentItemVersionRecord record = new Orchard_Framework_ContentItemVersionRecord(); record.Number = 1; record.Latest = true; record.Published = true; record.ContentItemRecord_id = item.Id; return record; } private Common_CommonPartRecord related3_create(int id) //  ID  CarPartRecord { Common_CommonPartRecord record = new Common_CommonPartRecord(); record.CreatedUtc = DateTime.Now; record.ModifiedUtc = DateTime.Now; record.PublishedUtc = DateTime.Now; record.OwnerId = 2; record.Id = id; return record; } private Common_CommonPartVersionRecord related4_create(int id) //  ID  CarPartRecord { Common_CommonPartVersionRecord record = new Common_CommonPartVersionRecord(); record.CreatedUtc = DateTime.Now; record.ModifiedUtc = DateTime.Now; record.PublishedUtc = DateTime.Now; record.ContentItemRecord_id = id; record.Id = id; return record; } 


рдФрд░, рддрджрдиреБрд╕рд╛рд░, рдореБрдЦреНрдп рдореЗрдВ:

 CarPartRecord record = create(/*   */); context.CarPartRecords.InsertOnSubmit(record); //     context.SubmitChanges(); Orchard_Framework_ContentItemRecord tmp1 = related1_create(); //  ,    ID  CarPartRecord. context.Orchard_Framework_ContentItemRecords.InsertOnSubmit(tmp1); Orchard_Framework_ContentItemVersionRecord tmp2 = related2_create(record); context.Orchard_Framework_ContentItemVersionRecords.InsertOnSubmit(tmp2); Common_CommonPartRecord tmp3 = related3_create(record.Id); context.Common_CommonPartRecords.InsertOnSubmit(tmp3); Common_CommonPartVersionRecord tmp4 = related4_create(record.Id); context.Common_CommonPartVersionRecords.InsertOnSubmit(tmp4); context.SubmitChanges(); 


рдирддреАрдЬрддрди, 3000+ рд░рд┐рдХреЙрд░реНрдб рдХрд╛ рдЖрдпрд╛рдд рдПрдХ рдордзреНрдпрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдорд╢реАрди рдкрд░ рд▓рдЧрднрдЧ 100 рд╕реЗрдХрдВрдб рддрдХ рдЪрд▓реЗрдЧрд╛ред рд▓рд╛рднред

Source: https://habr.com/ru/post/In170759/


All Articles