繁体   English   中英

左右 function lambda 表达式 c#

[英]LEFT AND RIGHT function lambda expression c#

如何在 c# 中使用 LEFT 和 RIGHT function lambda 表达式? 例如:

"SELECT [Code]   FROM [City]  WHERE LEFT ([Code] ,3)=" + Digit + " LEFT AND RIGHT function in ([Code],6)<>111111 order by Code"

你能帮我把上面的代码转换成 c# 中的 lambda 表达式吗

根据您的示例,假设您尝试使用 lambda 格式化字符串。 如果我误解了您要达到的目标,请告诉我。

Func<int, string> myFunc = d => $"SELECT [Code]   FROM [City]  WHERE LEFT ([Code] ,3)={d} LEFT AND RIGHT function in ([Code],6)<>111111 order by Code";
public class CityCustomRepository:GenericCrudRepository<City>
    {
        private ShopEntities _db;
        public CityCustomRepository(ShopEntities db) : base(db)
        {
            _db = db;
        }

        public List<City> GetAllCityCustom(int StartDigit)
        {
            return _db.City.Where(c=> DbFunctions.Left(c.Id.ToString(), 2) == StartDigit.ToString() && DbFunctions.Right(c.Id.ToString(), 5) <> "00000").ToList();
           
        }
    }
  1. 到select第一市,我省select

2- 省代码 30

3-取省码

4-城市代码是7位数字

2位城市代码左隔开,与2位省级代码比较

之后,城市代码右边的5位数字将被分开,这次它必须与00,000相反

我找到了我的答案

public List<City> GetAllCity(object StartDigit)
        {
            try
            {
                return _db.City.Where(c => c.Id.ToString().StartsWith(StartDigit.ToString()) && !c.Id.ToString().EndsWith("00000")).ToList();
            }
            catch
            {
                return null;
            }
            
        }

只需将数据类型的类型视为 object

GetAllCityCustom(int StartDigit)

并使用以下命令

c => c.Id.ToString().StartsWith(StartDigit.ToString()) &&.Z4A8A08F09D37B73795649008408B5F3("Id.To3("Id.ToString())

谢谢亲爱的朋友们的指点

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM