Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SQL到Linq-->选择最大值和最小值_C#_Sql_Linq - Fatal编程技术网

C# SQL到Linq-->选择最大值和最小值

C# SQL到Linq-->选择最大值和最小值,c#,sql,linq,C#,Sql,Linq,我试图获得一个特定IP地址的国家/地区,IP在数据库中以长整数存储 我有以下SQL查询: select * from dbo.ip where IP_From = ( select max(IP_From) from dbo.ip where IP_From <= @ipAddress ) and IP_To = ( select min(IP_To) from dbo

我试图获得一个特定IP地址的国家/地区,IP在数据库中以长整数存储

我有以下SQL查询:

select * from dbo.ip
where IP_From = ( select max(IP_From) 
            from dbo.ip
            where IP_From <= @ipAddress 
            ) 
and IP_To = ( 
        select min(IP_To) 
            from dbo.ip
            where IP_To >= @ipAddress 
                ) 
我正在努力:

    //string strHttpClientIP = System.Web.HttpContext.Current.Request.UserHostAddress;
    string strHttpClientIP = "58.8.247.169";
    var splitIP = strHttpClientIP.Split('.');
    var a = splitIP[0];
    var b = splitIP[1];
    var c = splitIP[2];
    Int64 intIPFrom = FunctionsGlobal.IP2Int(Convert.ToString(a + "." + b + "." + c + ".0"));
    Int64 intIPTo = FunctionsGlobal.IP2Int(Convert.ToString(a + "." + b + "." + c + ".255"));

    var IPList = db.IpToCountries;

     var MaxIpFrom = IPList.Max(i => i.IP_From);
    var MinIpTo = IPList.Min(i => i.IP_To);
    var QueryCurrency = IPList.Where(i=>i.IP_From == MaxIpFrom && i.IP_To == MinIpTo); 
我想把它转换成Linq c查询,有什么线索吗?

类似这样的东西

from ip in IPList
let maxIp = IPList.Where(a=>a.IP_From <= ipAddress).Max(a=>a.IP_From) 
let minIp = IPList.Where(a=>a.IP_To >= ipAddress).Min(a=>a.IP_To)
where ip.IP_From == maxIp && ip.IP_To == minIp

什么类型的IP_From和IP_To?你能提供你在c中尝试过的东西吗?@Grundy说了什么,另外你能添加一个你正在查询的数据样本吗?@Yann ok:-现在展示一下你如何使用c中的dbcode@Yann你的代码不工作?
from ip in IPList
let maxIp = IPList.Where(a=>a.IP_From <= ipAddress).Max(a=>a.IP_From) 
let minIp = IPList.Where(a=>a.IP_To >= ipAddress).Min(a=>a.IP_To)
where ip.IP_From == maxIp && ip.IP_To == minIp