gpt4 book ai didi

linq-to-sql - 具有类型安全整数类的 LINQ To SQL

转载 作者:行者123 更新时间:2023-12-03 06:14:15 27 4
gpt4 key购买 nike

我有以下类,旨在提供类型安全机制以将 Int64 传递到我的业务层:

class ClientID {
public ClientID(long i) { Value = i; }
//... other constructors

public long Value { get; private set; }

public static bool operator ==(ClientID lhs, long rhs) {
return lhs.Value == rhs;
}
}

还有一些其他比较运算符,以及一些 Object 覆盖。这允许我编写 LINQ 代码:

ClientID searchID = something;

from i in someSQLdatasource
where i.ClientID == searchID
select i;

语法有效,但 LINQ to SQL 当然无法为我的 ClientID 类生成 SQL 代码。我可以显式引用 Value 属性,但我认为我使用的语法更优雅。

任何人都可以帮助我强制 LINQ to SQL 生成比较,就像我的 ClientID 类是 Int64 一样吗?

最佳答案

LINQ to SQL 没有任何方法强制其执行操作。您所能期望的最好的结果是在表达式树获得之前重写它,这并不简单。 http://damieng.com/blog/2009/06/24/client-side-properties-and-any-remote-linq-provider是一个简单的示例,说明如何拦截树并修改提供者看到的内容。

关于linq-to-sql - 具有类型安全整数类的 LINQ To SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7955173/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com