是否可以将 POCO 实体与标准实体相关联
本文关键字:实体 标准 关联 POCO 是否 | 更新日期: 2023-09-27 18:34:28
假设我必须实体一个名为SalesOrders的POCO实体和从名为SalesOrderLines的SQL数据库生成的常规实体。我想创建一个从销售订单到销售订单行的关联,如以下代码所示,但我不断在代码下方收到异常。有谁知道这是否可能?
[DataServiceKey("SalesOrderNumber")]
public class SalesOrder
{
[Key]
public int SalesOrderNumber { get; set; }
public string StockCode { get; set; }
public string Description { get; set; }
[Include]
[Association("SalesOrder_SalesOrderLine", "SalesOrderNumber", "SalesOrderNumber")]
public IQueryable<SalesOrderLine> SalesOrderLines
{
get
{
SalesOrderLineEntities oSalesOrderLineEntities = new SalesOrderLineEntities();
var soLines = from line in oSalesOrderLineEntities.SalesOrderLines
where line.OrderNumber == SalesOrderNumber.ToString() &&
line.StockCode == StockCode
select line;
return soLines;
}
set
{
}
}
}
类型'ServiceName.NameSpace.SalesOrder'上的属性'SalesOrderLines'不是有效的属性。不支持类型为基元集合或复杂类型的属性。
事实证明,我需要做的就是将 [Key] 属性添加到生成的元数据类中。
[MetadataTypeAttribute(typeof(SalesOrderLines.SalesOrderLinesMetadata))]
public partial class SalesOrderLines
{
internal sealed class SalesOrderLinesMetadata
{
private SalesOrderLinesMetadata()
{
}
public DateTime DateStamp { get; set; }
public string OrderNumber { get; set; }
[Key]
public int SalesOrderLineID { get; set; }
public string SerialNumber { get; set; }
public string StockCode { get; set; }
}
}