我有三节课:
public class Variant : IHaveId
{
public int Id { get; set; }
public int VersionId { get; set; }
}
和
public class ElementVariant:IHaveId
{
public int Id { get; set; }
public int VariantId { get; set; }
}
和
public class Translation : IHaveId
{
public int Id { get; set; }
public string LanguageCode { get; set; }
public int ElementVariantId { get; set; }
}
这是我的带有内部类对象的收藏
public class collectionOfVariant()
{
public int Id { get; set; }
public int VersionId { get; set; }
public List<ElementVariant> ElementVariant{ get; set; }
public List<Translation> Translation { get; set; }
}
我知道我们可以使用用户定义的类型表来存储过程来传递数据集对象。但是,如果我想知道如何通过引用表数据来传递数据,那我想以collectionOfVariant
类格式传递数据。
我已经尝试过以下方式
List<collectionOfVariant> variantDetailsList = collectionOfVariant.ToList();// list of variant data collection
pars = new DynamicParameters();
pars.Add("@VariantData", dtOperationIndicatorSource.AsTableValuedParameter("dbo.temptable or dbo.userdefinetable"));// not sure how to write a temp table for this scenario
operatePopUpSP = "dbo.SPMaintainPopUpPlaceholderVersion";
ExecSproc<Version>(operatePopUpSP, pars, new Version()).ConfigureAwait(false);
但是我不知道如何创建用于收集数据的临时表/用户定义表。