public ActionResult SelectShopingInfoByName(string name) { //var result = db.ShopingInfo.Where(x => x.ShopingName == name).ToList(); var testResult = db.ShopingInfo.Where(e => e.ShopingName == DbFunctions.AsNonUnicode(name)).ToList(); return(Json(testResult)); }
public ActionResult CustDeviceAdd(FormCollection CustDevice) { try { using (DataWallContext db = new DataWallContext()) { //当前用户可管理场馆 List <SysLibrary> libList = GetLibraryList(); if (libList.Count == 0) { return(Json(new { code = "202", msg = "当前用户未分配可管理场馆,请联系系统管理员!" })); } ViewData["datalist"] = libList; //客流设备 if (CustDevice["Library"] != null) { string CustDeviceName = CustDevice["CustDeviceName"]; if (db.SysCustDevices.Where(d => d.CustDeviceName == DbFunctions.AsNonUnicode(CustDeviceName)).AsNoTracking().Count() >= 1) { return(Json(new { code = "202", msg = "设备名已存在!" })); } int LibraryId = int.Parse(CustDevice["Library"]); string LibraryName = db.SysLibrarys.Find(LibraryId).LibraryName; string Uuid = PingYinHelper.GetFirstSpell(LibraryName + CustDevice["CustDeviceName"]) + DateTime.Now.Millisecond; string DataGuid = System.Guid.NewGuid().ToString("D"); SysCustDevice sysCustDevice = new SysCustDevice() { CustDeviceName = CustDevice["CustDeviceName"], Uuid = Uuid, DataGuid = DataGuid, SysLibraryId = LibraryId, CrateTime = DateTime.Now, EditTime = DateTime.Now, IsEnable = 0, DelState = 0 }; db.SysCustDevices.Add(sysCustDevice); //添加客流设备 db.SaveChanges(); Lg.AddLog("添加客流设备", "Other", 1, GetUserName()); return(Json(new { code = "200", msg = "添加成功!" })); } else { return(Json(new { code = "202", msg = "请选择内容所属场馆!" })); } } } catch (Exception ex) { LogHelper.ErrorLog("客流设备添加失败:" + ex.Message); return(Json(new { code = "201", msg = "修改失败,请重试或联系管理员!" })); } }
private static void TestQueryExits() { using (TestDbContext db = new TestDbContext()) { db.Database.Log = Console.WriteLine; //var user = db.Set<User>().AsNoTracking().Any(u => u.UserName == "wangjunpeng"); var user = db.Set <User>().AsNoTracking().Any(u => u.LoginName == DbFunctions.AsNonUnicode("wangjunpeng")); } }
/// <summary> /// 用于 EF 查询语句 字符串条件筛选 /// 因为.Net字符串是Unicode格式 在数据库 执行时 会进行数据转换, /// 也就是说如果你在表中建立了索引此时会失效代替的是造成全表扫描 /// </summary> /// <param name="str"></param> /// <param name="EF"></param> /// <returns></returns> public static string AsNonUnicode(this string str) { int EF = 6; if (string.IsNullOrEmpty(str)) { return(string.Empty); } if (EF < 6) { return(EntityFunctions.AsNonUnicode(str)); } else { return(DbFunctions.AsNonUnicode(str)); } }
/// <summary> /// 检查场馆是否存在 /// </summary> /// <param name="Action">方法</param> /// <param name="Id">新增时为0</param> /// <param name="LibraryName">场馆名</param> /// <returns></returns> public bool Check(string Action, int Id, string LibraryName) { using (DataWallContext db = new DataWallContext()) { if (Action == "LibraryEdit") { if (db.SysLibrarys.Where(u => u.LibraryName == DbFunctions.AsNonUnicode(LibraryName)).AsNoTracking().Count() >= 1) { //AsNoTracking将Hold住的对象释放掉 SysLibrary Library = db.SysLibrarys.AsNoTracking().FirstOrDefault(u => u.ID == Id); if (Library.LibraryName == LibraryName) { return(true); } else { return(false); } } else { return(true); } } else { if (db.SysLibrarys.Where(u => u.LibraryName == LibraryName).AsNoTracking().Count() > 0) { return(false); } else { return(true); } } } }
/// <summary> /// 检查用户名是否存在 /// </summary> /// <param name="Action">方法</param> /// <param name="Id">新增用户时为0</param> /// <param name="UserName">用户名</param> /// <returns></returns> public bool Check(string Action, int Id, string UserName) { using (DataWallContext db = new DataWallContext()) { if (Action == "UserEdit") { if (db.SysUsers.Where(u => u.UserName == DbFunctions.AsNonUnicode(UserName)).Count() >= 1) { //AsNoTracking将Hold住的对象释放掉 SysUser User = db.SysUsers.AsNoTracking().FirstOrDefault(u => u.ID == Id); if (User.UserName == UserName) { return(true); } else { return(false); } } else { return(true); } } else { if (db.SysUsers.Where(u => u.UserName == DbFunctions.AsNonUnicode(UserName)).AsNoTracking().Count() > 0) { return(false); } else { return(true); } } } }
private static void TestQueryContains() { using (var db = new TestDbContext()) { db.Database.Log = Console.WriteLine; //var permission = db.Set<Permission>().AsNoTracking().Where(p=>p.Name.Contains(DbFunctions.AsNonUnicode("permission1"))).ToList(); //var permission2 = db.Set<Permission>().AsNoTracking().Where(p => p.Name.StartsWith(DbFunctions.AsNonUnicode("p"))).ToList(); var permission3 = db.Set <Permission>().AsNoTracking().Where(p => p.PermissionName.EndsWith(DbFunctions.AsNonUnicode("1"))).ToList(); } }
private async static void TestRetrieveDataDictInfo() { using (var db = new TestDbContext()) { db.Database.Log = Console.WriteLine; var dict = await db.Set <DataDictionary>().AsNoTracking().FirstOrDefaultAsync(t => t.DictionaryName == DbFunctions.AsNonUnicode("仓储备货类型")); StringBuilder sb = new StringBuilder(); foreach (var item in dict.DataDictionaryInfos) { sb.Append(item.DataDictionary.DictionaryName); sb.Append("-"); sb.Append(item.DictionaryCode); sb.Append("-"); sb.Append(item.DictionaryDescription); Console.WriteLine(sb.ToString()); sb.Clear(); } } }