你好 我在读取已在字典中给出id的数据表时遇到问题。请任何人帮助我。以下是我的代码。我有一个字典datasourceData我正在存储数据表。我需要检索存储在字典中的给定id的数据表。
public Dictionary<Guid, DataTable> dataSourceData { get; set; }
public DataModel()
{
dataSourceData = new Dictionary<Guid, DataTable>();
logger = new BasicFileLogger.Logger();
}
public DataTable GetDataSourceDescriptionById(Guid piId)
{
if (piId == null || piId == Guid.Empty)
throw new InvalidOperationException("No such datasourcedescriptionId");
try
{
return dataSourceData.Values.Where(db => db.Equals(piId));
}
catch (Exception ex)
{
logger.WriteException(ex);
throw new InvalidOperationException(ex.Message);
}
}
请帮忙?
答案 0 :(得分:2)
你想改变这一行
return dataSourceData.Values.Where(db => db.Equals(piId));
到
return dataSourceData[piId];
答案 1 :(得分:1)
您可以使用密钥轻松访问它:
if(dataSourceData.ContainsKey(yourGUID))
DataTable dt = dataSourceData[yourGUID];
其中yourGUID
是您要访问的GUID
,您可以检查您的词典是否包含GUID
密钥,因此您可以使用以下方法:
public DataTable GetDataSourceDescriptionById(Guid piId)
{
Dictionary<Guid, DataTable> dataSourceData = new Dictionary<Guid, DataTable>();
if (dataSourceData.ContainsKey(piId))
{
return dataSourceData[piId];
}
else
{
InvalidOperationException ex = new InvalidOperationException("No such datasourcedescriptionId"));
logger.WriteException(ex);
throw ex;
}
}