我编写了一个应用程序,用作代理从数据库查询数据并自动将其加载到分布式Web缓存中。LINQ-to-SQL:ExecuteQuery(类型,字符串)填充一个字段,但不填充另一个
我这样做是通过在配置中指定一个sql查询和一个类型。实际执行所述查询的代码看起来是这样的:
List<Object> result = null;
try { result = dc.ExecuteQuery(elementType, entry.Command).OfType<Object>().ToList(); }
catch (Exception ex) { HandleException(ex, WebCacheAgentLogEvent.DatabaseExecutionError); continue; }
elementType
距离(使用Type.GetType()
)在配置中指定的类型创建一个System.Type的,并且是entry.Command
SQL查询。
我遇到看起来像这样的问题,具体的实体类型:
public class FooCount
{
[Column(Name = "foo_id")]
public Int32 FooId { get; set; }
[Column(Name = "count")]
public Int32 Count { get; set; }
}
SQL查询看起来是这样的:
select foo_id as foo_id, sum(count) as [count]
from foo_aggregates
group by foo_id
order by foo_id
出于某种原因,在执行查询, “计数”属性结束填充,但不是“FooId”属性。我试着自己运行查询,并返回正确的列名称,列名与我在映射属性中指定的内容匹配。帮帮我!
@BFree - 编辑一个问题只是为了改变别人的编码风格只是简单的恕我直言。请不要。 – 2009-02-26 16:18:12
我的不好。我不认为你真的打算这么做,我认为这是一个意外。 – BFree 2009-02-26 16:27:18
@Daniel - 发布强制用户滚动阅读的代码是让他们忽略你的问题的好方法。在试图帮助的人寻找是一种更好的方式..... – 2009-02-26 16:33:57