VS-2019 Core 5 Blazor客户端组件定义了一个与一起工作的@typeparam TModel
private List<TModel> _allModelRecs { get; set; }
如下代码所示。注意(a(";ddlOtherModel_Value;和(b(";UID_ MODEL";TModel类的字段。。。
// Select first 'Record'.
IDictionary<int, string> _ModelFiltersList = (Dictionary<int, string>)_ModelFiltersList.OrderBy(r => r.Value);
TModel _OtherModel = _allModelRecs.Where(r => r.**UID_MODEL** == _ModelFiltersList.First().Key);
int ddlOtherModel_Value = _OtherModel.**UID_MODEL**;
由于该部件可以并且必须与不同的";TModel(s(";(客户、车辆、部门等(我需要设置";ddlOtherModel_Value;成为";键"-TModel的实例/记录的值。每个TModel的密钥字段名称不同:UID_CUSTOMER、UID_VEHICLE、UID_DEPARTMENT。。。等
在上面的代码片段中;UID_ MODEL";为这个问题显示--它不是实际的关键字字段名称。
这是一个问题我如何在实际TModel的密钥名称中为";UID_MODEL"?
欢迎您的评论、问题或答案。Thx John
基本上你不应该这样做。UID应该在抽象TModel上定义。
如果由于某种原因无法控制,那么您将需要实现一些扩展来获得id。例如,您可以实现一个包装器类或一组静态扩展方法。另一种选择是使用反射来获得以"0"开头的字段;UID";但这可能很慢。