我希望使用 Linq to SQL 向数据库添加一些行,但是在添加行之前,我想要进行“自定义检查”以确定是否必须添加、替换或忽略传入的行。
我想尽可能地降低客户端和数据库服务器之间的流量,并最小化查询次数。
为了做到这一点,我只想获取所需的最少信息进行验证,并且仅在进程开始时执行一次。
我考虑了像这样的方法,但显然它不起作用。有人有什么想法吗?
我想尽可能地降低客户端和数据库服务器之间的流量,并最小化查询次数。
为了做到这一点,我只想获取所需的最少信息进行验证,并且仅在进程开始时执行一次。
我考虑了像这样的方法,但显然它不起作用。有人有什么想法吗?
Dictionary<int, DateTime> existingItems =
(from ObjType ot in TableObj
select (new KeyValuePair<int, DateTime>(ot.Key, ot.TimeStamp))
)
最终我想要的是一个字典,而不必下载TableObject中的所有ObjectType对象。
我也考虑过以下代码,但我正在尝试找到更好的方法:
List<int> keys = (from ObjType ot in TableObj orderby ot.Key select ot.Key).ToList<int>();
List<DateTime> values = (from ObjType ot in TableObj orderby ot.Key select ot.Value).ToList<int>();
Dictionary<int, DateTime> existingItems = new Dictionary<int, DateTime>(keys.Count);
for (int i = 0; i < keys.Count; i++)
{
existingItems.Add(keys[i], values[i]);
}
.Select( t => new { t.Key, t.TimeStamp } )
这个表达式? - Ben Collins.Select
导致生成的SQL仅选择Key和TimeStamp,而不是选择每一列。 - Joey AdamsSelect
。 - Pac0.Select
确实避免了从数据库中选择实体模型/表中的每一列。 - Giancarlo Sierra