Linq开发笔记
判断当前用户是否存在:
var exists1 = _dbSys.GetIQueryable<tb_MyUser>().Any(a => a.Account==input.SourceUser);
if (!exists1) throw new BizException("来源用户不存在!");
linq 取天数范围:
q1.Where(w => (DateTime.Now - w.SendTime).Value.Days < days);
返回数据select:
注:当前模型存在链表的情况下需要先行ToList()之后再进行链表(因为GetIQueryable是转换sql之前,而new res_Permission_Role()属于自定义model并不存在数据库中,无法与EF模型对应关系,所以需要先转换为list在内存中)
var result = new res_Permission_GetOwnersByMenu();
result.ListRole = listRole.Select(s => new res_Permission_Role() { RoleID = s.RoleID, RoleName = s.RoleName }).ToList();
String.Compare字符串比较:
q1 = q1.Where(w => String.Compare(w.IANO, p.DocNoFrom) >= 0);
判断时间范围限制:
if (p.DocDateFrom>=DateTime.Now.AddYears(-100))
{
q1 = q1.Where(w => w.CreationDate >= p.DocDateFrom);
}
获得字符串中开始和结束字符串中间得值:
/// <summary>
/// 获得字符串中开始和结束字符串中间得值
/// </summary>
/// <param name="str">要截取的字符串</param>
/// <param name="sta">开始字符</param>
/// <param name="end">结束字符</param>
/// <returns></returns>
static string GetMiddleValue(string str, string sta, string end)
{
Regex rg = new Regex("(?<=(" + sta + "))[.\\s\\S]*?(?=(" + end + "))", RegexOptions.Multiline | RegexOptions.Singleline);
return rg.Match(str).Value;
}
食用方式:
string str = System.Configuration.ConfigurationManager.ConnectionStrings[Globals.testDB].ConnectionString.ToString();
string userid = GetMiddleValue(str, "ID=", ";");
string pwd = GetMiddleValue(str, "Password=", ";");
string DataBase = string.Format($"server=.;Database='{dbName}';User ID='{userid}';Password='{pwd}';");
获取7天内数据:
string time = context.Request["Time"].ToString();
string times = context.Request["Times"].ToString();
if (time == "") { data.BeginTime = DateTime.Now.AddDays(-7); } else { data.BeginTime = Convert.ToDateTime(time); }
if (times == "") { data.EndTime = DateTime.Now; } else { data.EndTime = Convert.ToDateTime(times); }
代码生成器之保存using到数据库保留缩进:
{System.Environment.NewLine}
$"using Test.WebApi.Common.Models;{System.Environment.NewLine}using Test.WebApi.Interfaces;{System.Environment.NewLine}using Test.WebApi.Models;"
获取当前主机地址:
function getHost()
{
获取当前网址,如: http://localhost:8080/Tmall/index.jsp
let curWwwPath = window.document.location.href;
//获取主机地址之后的目录如:/Tmall/index.jsp
var pathName = window.document.location.pathname;
let pos = curWwwPath.indexOf(pathName);
//获取主机地址,如: http://localhost:8080
var localhostPaht = curWwwPath.substring(0, pos);
//return 'http://webapi.test.com/YaSuo/';
return curWwwPath.substring(0, pos) + '/YaSuo/';
}
食用方式:
<script src="../Scripts/HostHelper.js"></script>
var localhost= getHost();
$("target").attr("href", localhost);