多个主键如何配置导航 返回

public partial class ATable { /// <summary> /// Desc: /// Default: /// Nullable:False /// </summary> [SugarColumn(IsPrimaryKey = true, ColumnName = "prodCd")] public string ProdCd { get; set; } = null!; /// <summary> /// Desc: /// Default: /// Nullable:False /// </summary> [SugarColumn(IsPrimaryKey = true, ColumnName = "custCd")] public string CustCd { get; set; } = null!; /// <summary> /// Desc: /// Default: /// Nullable:False /// </summary> [SugarColumn(IsPrimaryKey = true, ColumnName = "vendCd")] public string VendCd { get; set; } = null!; /// <summary> /// Desc: /// Default: /// Nullable:False /// </summary> [SugarColumn(IsIdentity = true, ColumnName = "rowId")] public long ProdName { get; set; } [Navigate(NavigateType.OneToOne, nameof(ProdCd), nameof(VendCd), nameof(CustCd))] public BTable? B{ get; set; } } public partial class BTable { /// <summary> /// Desc: /// Default: /// Nullable:False /// </summary> [SugarColumn(IsPrimaryKey = true, ColumnName = "prodCd")] public string ProdCd { get; set; } = null!; /// <summary> /// Desc: /// Default: /// Nullable:False /// </summary> [SugarColumn(IsPrimaryKey = true, ColumnName = "custCd")] public string CustCd { get; set; } = null!; /// <summary> /// Desc: /// Default: /// Nullable:False /// </summary> [SugarColumn(IsPrimaryKey = true, ColumnName = "vendCd")] public string VendCd { get; set; } = null!; /// <summary> /// Desc: /// Default: /// Nullable:False /// </summary> [SugarColumn(IsIdentity = true, ColumnName = "rowId")] public long ProdName { get; set; } }
上面两个实体, Atable 和 Btable 都是 三个字段联合主键, 我在 Atbale 配置了 导航
[Navigate(NavigateType.OneToOne, nameof(ProdCd), nameof(VendCd), nameof(CustCd))] public BTable? B{ get; set; }
我想进行 查询和 插入操作 ,但是 一直报错 “使用条件的上下文(在 'AND' 附近)中指定了非布??型的表?式”。
查看了sql 语句 的确有问题 custcd 没有条件
select [updClass] AS [UpdClass],[BaseVersion] AS [BaseVersion] FROM [tb_mst_MT0080] WHERE CustCd AND [vendCd] = '000T947842K501'
我看了文档 可以使用 [Navigate(NavigateType.Dynamic,
"[{m:\"Id\",c:\"AddressId\"},{m:\"Id2\",c:\"AddressId2\"}]"
)]
但是这样只能查询
我用的是sql server 数据库 请问 我应该如何配置
热忱回答(3)
-
fate sta VIP0
2周前多主键只支持这种
[Navigate(NavigateType.Dynamic,
"[{m:\"Id\",c:\"AddressId\"},{m:\"Id2\",c:\"AddressId2\"}]"
)]
0 回复 -
fate sta VIP0
2周前只支持查询
0 回复 -
c#程序员 VIP0
2周前@fate sta:好的 感谢 希望之后可以完善联合主键 导航配置
0 回复