такой LINQ
var q3 = ctx.ProjectDocument.Where(_ => _.ProjectId == projectId).ToList();
q3.ForEach(_ => _.ProjectId = newProjectId);
ctx.InsertBatch(q3);
в классе ProjectDocument есть такое поле
...
private System.Data.Linq.Binary m_Blob;
[BLToolkit.DataAccess.DbTypeAttribute(System.Data.DbType.Binary, -1)]
[BLToolkit.Mapping.MapFieldAttribute("Blob")]
[BLToolkit.Mapping.NullableAttribute()]
public System.Data.Linq.Binary Blob
{
get
{
return this.m_Blob;
}
set
{
this.m_Blob = value;
}
}
...
при вызове InsertBatch BLToolkit падает с ошибкой
SqlCommand.Prepare method requires all variable length parameters to have an explicitly set non-zero Size.
Call Stack
[External Code]
> BLToolkit.3.dll!BLToolkit.Data.DbManager.ExecuteOperation(BLToolkit.Data.OperationType operationType = PrepareCommand, System.Action operation = {Method = {System.Reflection.RuntimeMethodInfo}}) Line 4278 C#
BLToolkit.3.dll!BLToolkit.Data.DbManager.Prepare() Line 2227 C#
BLToolkit.3.dll!BLToolkit.Data.DbManager.ExecuteForEach<Meditano.PPC.DB2.ProjectDocument>(System.Collections.Generic.IEnumerable<Meditano.PPC.DB2.ProjectDocument> collection = Count = 1, BLToolkit.Mapping.MemberMapper[] members = {BLToolkit.Mapping.MemberMapper[10]}, int maxBatchSize = 2147483647, BLToolkit.Data.DbManager.ParameterProvider<Meditano.PPC.DB2.ProjectDocument> getParameters = {Method = {System.Reflection.RuntimeMethodInfo}}) Line 2590 + 0xb bytes C#
BLToolkit.3.dll!BLToolkit.DataAccess.SqlQuery<Meditano.PPC.DB2.ProjectDocument>.ExecuteForEach(BLToolkit.Data.DbManager db = {Meditano.PPC.DB2.PPCContextDbContext}, System.Collections.Generic.IEnumerable<Meditano.PPC.DB2.ProjectDocument> collection = Count = 1, BLToolkit.Mapping.MemberMapper[] members = {BLToolkit.Mapping.MemberMapper[10]}, int maxBatchSize = 2147483647, BLToolkit.Data.DbManager.ParameterProvider<Meditano.PPC.DB2.ProjectDocument> getParameters = {Method = {System.Reflection.RuntimeMethodInfo}}) Line 379 + 0x53 bytes C#
BLToolkit.3.dll!BLToolkit.DataAccess.SqlQuery<Meditano.PPC.DB2.ProjectDocument>.Insert(BLToolkit.Data.DbManager db = {Meditano.PPC.DB2.PPCContextDbContext}, int maxBatchSize = 2147483647, System.Collections.Generic.IEnumerable<Meditano.PPC.DB2.ProjectDocument> list = Count = 1) Line 173 + 0xd1 bytes C#
BLToolkit.3.dll!BLToolkit.Data.Linq.Extensions.InsertBatch<Meditano.PPC.DB2.ProjectDocument>(BLToolkit.Data.DbManager dataContext = {Meditano.PPC.DB2.PPCContextDbContext}, int maxBatchSize = 2147483647, System.Collections.Generic.IEnumerable<Meditano.PPC.DB2.ProjectDocument> list = Count = 1) Line 164 + 0x5a bytes C#
BLToolkit.3.dll!BLToolkit.Data.Linq.Extensions.InsertBatch<Meditano.PPC.DB2.ProjectDocument>(BLToolkit.Data.DbManager dataContext = {Meditano.PPC.DB2.PPCContextDbContext}, System.Collections.Generic.IEnumerable<Meditano.PPC.DB2.ProjectDocument> list = Count = 1) Line 169 + 0x45 bytes C#
Meditano.PPC.BL2.dll!Meditano.PPC.BL2.Projects.DuplicateProject(int projectId = 1, string newName = "Copy of: Hawser Rails") Line 1143 + 0x11 bytes C#
Meditano.PPC.UI.exe!Meditano.PPC.UI.MainForm.DuplicateProject() Line 964 + 0x11 bytes C#
Meditano.PPC.UI.exe!Meditano.PPC.UI.MainForm.barBtnDuplicateProject_ItemClick(object sender = {DevExpress.XtraBars.BarManager}, DevExpress.XtraBars.ItemClickEventArgs e = {DevExpress.XtraBars.ItemClickEventArgs}) Line 441 + 0x8 bytes C#
[External Code]
[External Code]
IT пожалуйста поправь это, очень нужно.
Спасибо
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>