[英]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();
}
}
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.