protected override IAsyncEnumerable <Object> ExecutePrimitive(Object dataContext, String sql, IReadOnlyList <KeyValuePair <String, Object> > parameters, Type returnType) { returnType = Parsers.OeExpressionHelper.GetCollectionItemTypeOrNull(returnType) ?? returnType; DbRawSqlQuery query = ((DbContext)dataContext).Database.SqlQuery(returnType, sql, GetParameterValues(parameters)); return(Infrastructure.AsyncEnumeratorHelper.ToAsyncEnumerable(query)); }
/// <summary> /// 多表联查 外链接:LEFT OUTER JOIN /// </summary> public void LEFT_OUTER_JOIN() { var userListTest = (from u in db.User_info join p in db.User_Type on u.User_Type equals p.UserType_ID into temp from t in temp.DefaultIfEmpty() where !string.IsNullOrEmpty(t.Remark) //join d in db.partBs on t.partID equals d.partID //into tempone //from user in tempone.DefaultIfEmpty() select new { u.User_Name, u.User_Pwd, t.UserType_Name }).ToList(); DbRawSqlQuery ss = db.Database.SqlQuery(typeof(User_info), ""); DbRawSqlQuery <User_info> ss1 = db.Database.SqlQuery <User_info>(""); var abc = db.User_info.SqlQuery("").ToList(); List <dynamic> oneList = new List <dynamic>(); foreach (var one in userListTest) { dynamic dyObject = new ExpandoObject(); dyObject.userName = one.User_Name; dyObject.userPwd = one.User_Pwd; dyObject.userTypeName = one.UserType_Name; oneList.Add(dyObject); } oneList.ForEach(a => Console.WriteLine(String.Format("姓名:{0} ,密码 {1},用户类型名称 {2},", a.userName, a.userPwd, a.userTypeName))); }
private void InitQuery() { try { //Handle the case of entity type (InitialLoad) if (_entityType != null && _gigaspaceQuery == null) { //If perform by id, add order to the criteria var query = _dbContext.Set(_entityType).AsNoTracking().AsQueryable(); _currentIQueryable = SetOrderBy(query); // query; } //Handle the case of Persistency.Query (GetEnumerator) else if (_gigaspaceQuery != null) { string select = _gigaspaceQuery.SqlQuery; object[] preparedValues = _gigaspaceQuery.Parameters; //DbSqlQuery dbSqlQuery = null; DbRawSqlQuery dbSqlQuery = null; if (preparedValues != null) dbSqlQuery = _dbContext.Database.SqlQuery(_entityType, select, preparedValues); //dbSqlQuery = _dbContext.Set(_entityType).SqlQuery(select, preparedValues); else dbSqlQuery = _dbContext.Database.SqlQuery(_entityType, select); //dbSqlQuery = _dbContext.Set(_entityType).SqlQuery(select); var query = dbSqlQuery.Cast(_entityType).AsQueryable();//Cast(_entityType).AsQueryable(); _currentIQueryable = SetOrderBy(query); } } catch (Exception ex) { throw new Exception("Error while constructing an enumerator", ex); } }
void LINKQ_NaiveSQL_Sample2() { // 如果返回复杂的结构需要自行定义 DbRawSqlQuery <string> results = PlaygroundForm.dbContext.Database.SqlQuery <string>( "SELECT sname FROM ustudent WHERE sid = @sid", new MySqlParameter("@sid", 32006005) ); foreach (var r in results) { Console.WriteLine(r.ToString()); } // 自定义类型需要geter和seter DbRawSqlQuery <StuDTO> resultDataSet = PlaygroundForm.dbContext.Database.SqlQuery <StuDTO>( "SELECT sname, sid FROM ustudent WHERE sid = @sid", new MySqlParameter("@sid", 32006005) ); var temp = resultDataSet.ToList <StuDTO>(); // 若包涵多个元素 会抛异常 详参API // var temp1 = resultDataSet.SingleOrDefault(); foreach (var r in resultDataSet) { Console.WriteLine(r.ToString()); } }
private List <DevMonitorNode> GetDevMonitorNodeListByKKS(string KKS) { List <DevMonitorNode> NodeList = null; List <DevMonitorNode> NodeList2 = new List <DevMonitorNode>(); string strKKS = KKS.Replace(" ", ""); DbModel.Location.AreaAndDev.DevMonitorNode Node1 = db.DevMonitorNodes.FirstOrDefault(p => p.KKS == strKKS); if (Node1 != null) { NodeList = new List <DevMonitorNode>(); DevMonitorNode Node = new DevMonitorNode(); Node.Id = Node1.Id; Node.KKS = Node1.KKS; Node.TagName = Node1.TagName; Node.DataBaseName = Node1.DataBaseName; Node.DataBaseTagName = Node1.DataBaseTagName; Node.Describe = Node1.Describe; Node.Value = Node1.Value; Node.Unit = Node1.Unit; Node.DataType = Node1.DataType; Node.TagType = Node1.TagType; NodeList.Add(Node); } DbRawSqlQuery <DbModel.Location.AreaAndDev.DevMonitorNode> query2 = db.Db.Database.SqlQuery <DbModel.Location.AreaAndDev.DevMonitorNode>("select * from DevMonitorNodes where KKS like '%" + strKKS + "_%' and Id != " + Convert.ToString(Node1.Id)); if (query2 == null) { return(NodeList); } List <DbModel.Location.AreaAndDev.DevMonitorNode> MonitorNodeList = query2.ToList(); foreach (DbModel.Location.AreaAndDev.DevMonitorNode item in MonitorNodeList) { if (NodeList == null) { NodeList = new List <DevMonitorNode>(); } DevMonitorNode NodeMonitor = new DevMonitorNode(); NodeMonitor.Id = item.Id; NodeMonitor.KKS = item.KKS; NodeMonitor.TagName = item.TagName; NodeMonitor.DataBaseName = item.DataBaseName; NodeMonitor.DataBaseTagName = item.DataBaseTagName; NodeMonitor.Describe = item.Describe; NodeMonitor.Value = item.Value; NodeMonitor.Unit = item.Unit; NodeMonitor.DataType = item.DataType; NodeMonitor.TagType = item.TagType; NodeList.Add(NodeMonitor); } return(NodeList); }
internal async Task <bool> CheckSecurityAccessAsync(int userId, string operationCode) { DbRawSqlQuery <int> query = this.Database.SqlQuery <int>(string.Format("select count(Code) \r\n from VW_USER_OPERATION_LIST \r\n where UserID = {0}p0 and Code = {1}p1", (object)OMFAppContext.ParameterPrefix, (object)OMFAppContext.ParameterPrefix), (object)userId, (object)operationCode); int result = await query.FirstOrDefaultAsync(); return(result > 0); }
public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { if (bindingContext.ModelType == typeof(T)) { string hash = bindingContext.ValueProvider.GetValue("id").RawValue.ToString(); if (!string.IsNullOrWhiteSpace(hash)) { int id = HashIdHelper.ToInt(hash); if (id > 0) { using (ApplicationContext context = new ApplicationContext()) { DbRawSqlQuery <T> query = context.Database.SqlQuery <T>(string.Format("SELECT * FROM {0} WHERE id = @Id LIMIT 1", EntityHelper.GetTableName <T>(context)), new MySqlParameter("@Id", id)); try { T model = query.Cast <T>().FirstOrDefault(); if (model != null) { return(model); } } catch (Exception ex) { if (ex is ArgumentNullException || ex is InvalidCastException) { return(base.BindModel(controllerContext, bindingContext)); } throw; } } } } } return(base.BindModel(controllerContext, bindingContext)); }
//供应商交付报表 public List <WMS_AIModel> SupplierDelivery(ref GridPager pager, string po, string suppliername, string partcode, string partname, DateTime beginDate, DateTime endDate) { using (DBContainer db = new DBContainer()) { DbRawSqlQuery <WMS_AIModel> query = db.Database.SqlQuery <WMS_AIModel>("SELECT * from V_WMS_Supplierdelivery where PO like '%" + po + "%' and SupplierName like '%" + suppliername + "%' and PartCode like '%" + partcode + "%' and PartName like '%" + partname + "%' and ((ArrivalDate>=CONVERT(varchar(100), '" + beginDate + "', 120) and ArrivalDate<=CONVERT(varchar(100), '" + endDate.AddDays(1) + "', 120)) or ArrivalDate is null )"); //启用通用列头过滤 pager.totalRows = query.Count(); try { //排序 IQueryable <WMS_AIModel> queryData = LinqHelper.SortingAndPaging(query.AsQueryable(), pager.sort, pager.order, pager.page, pager.rows); return(queryData.ToList()); //return query.ToList(); } catch (Exception ex) { throw ex; } } }
// public ActionResult PaidMembership() { DbRawSqlQuery <IsPaid> data = db.Database.SqlQuery <IsPaid> ("Select name from members where isPaidMembership = 1"); return(View(data)); }
/// <summary> /// 使用EF框架获取数据,返回DataTable /// </summary> /// <param name="type"></param> /// <param name="strSql"></param> /// <param name="parameterNames"></param> /// <param name="parameterValues"></param> /// <returns></returns> public DataTable GetDataTableWithEF(Type type, string strSql, string[] parameterNames, string[] parameterValues) { var table = new DataTable("DataTableWithEF"); DbRawSqlQuery datas = dbContext.Database.SqlQuery(type, strSql, DBFactory.ChangeToDbParams(parameterNames, parameterValues)); foreach (var data in datas) { var row = table.NewRow(); foreach (var info in type.GetProperties()) { if (table.Rows.Count <= 0) { table.Columns.Add(info.Name); } var value = info.GetValue(data, null) ?? DBNull.Value; row[info.Name] = SafeConverter.SafeToStr(value); } table.Rows.Add(row); } return(table); }
/// <summary> /// Gets the columns. /// </summary> /// <param name="dbContext">The database context.</param> /// <param name="type">The type.</param> /// <returns></returns> public static List <string> GetColumns(this DbContext dbContext, Type type) { string statment = String.Format("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME like N'{0}s'", type.Name); DbRawSqlQuery <string> result = dbContext.Database.SqlQuery <string>(statment); return(result.ToList()); }
private void LoadBarChartData(DbRawSqlQuery <ReturnedSqlResult> outVal, DbRawSqlQuery <ReturnedSqlResult> inVal) { var outRes = outVal.ToList(); var inRes = inVal.ToList(); //out serie var outSerie = (ColumnSeries)chart.Series[0]; //count of months int outCount = outVal.Count(); int inCount = inVal.Count(); //out columns bar KeyValuePair <string, double>[] outPair = new KeyValuePair <string, double> [outCount]; for (int i = 0; i < outCount; i++) { outPair[i] = new KeyValuePair <string, double>(outRes[i].RecordDate.ToString("MM-yyyy"), -outRes[i].OutSum); } outSerie.ItemsSource = outPair; //in columns bar KeyValuePair <string, double>[] inPair = new KeyValuePair <string, double> [inCount]; for (int i = 0; i < inCount; i++) { inPair[i] = new KeyValuePair <string, double>(inRes[i].RecordDate.ToString("MM-yyyy"), inRes[i].OutSum); } var inSerie = (ColumnSeries)chart.Series[1]; inSerie.ItemsSource = inPair; }
/// <summary> /// 使用EF框架获取第一行第一列数据 /// </summary> /// <param name="strSql"></param> /// <param name="parameterNames"></param> /// <param name="parameterValues"></param> /// <returns></returns> public List <string> GetFirstRowWithEF(Type type, string strSql, string[] parameterNames, string[] parameterValues) { List <string> result = new List <string>(); if (type == null) { return(result); } DbRawSqlQuery datas = dbContext.Database.SqlQuery(type, strSql, DBFactory.ChangeToDbParams(parameterNames, parameterValues)); foreach (var data in datas) { foreach (var info in type.GetProperties()) { var value = info.GetValue(data, null) ?? DBNull.Value; result.Add(SafeConverter.SafeToStr(value)); } return(result); } return(result); }
public IEnumerable <Property> SearchAll(string keyword) { string query = "SELECT J3.PropertyID, J3.PropertyName, J3.Address, J3.PropertyType, J3.AskingPrice, J3.AgreedPrice, J3.Image, " + "J3.Latitude, J3.Longitude, J3.ListingType, J3.Size, J3.CountClicked, J3.fEstateID as EstateID, J3.EstateName, J3.fDistrictID as DistrictID, D.DistrictName, " + "J3.AgentID, J3.CompanyName, J3.DatePosted, J3.ExclusiveStartDate, J3.ExpiryDate " + "FROM (SELECT J2.*, E.EstateName, E.fDistrictID " + "FROM (SELECT J1.*, A.CompanyName " + "FROM (SELECT P.*, AMP.fAgentID as AgentID, AMP.DatePosted, AMP.ExclusiveStartDate, AMP.ExpiryDate " + "FROM properties P " + "LEFT JOIN agent_manages_property AMP ON AMP.fPropertyID = P.PropertyID) as J1 " + "LEFT JOIN agents A ON A.AgentID = J1.AgentID) as J2 " + "LEFT JOIN estates E ON E.EstateID = J2.fEstateID) as J3 " + "LEFT JOIN districts D ON D.DistrictID = J3.fDistrictID " + "WHERE J3.PropertyName LIKE '%" + keyword + "%' OR J3.Address LIKE '%" + keyword + "%' OR J3.PropertyType LIKE '%" + keyword + "%' OR J3.ListingType LIKE '%" + keyword + "%' OR J3.Size LIKE '%" + keyword + "%' OR J3.EstateName LIKE '%" + keyword + "%' OR D.DistrictName LIKE '%" + keyword + "%'"; DbRawSqlQuery <Property> rawQuery = db.Database.SqlQuery <Property>(query, ""); return(rawQuery.ToList()); }
public ActionResult Delete(int id) { DbRawSqlQuery <Menu> menus = MenuBll.GetChildrenMenusByParentId(id); bool b = MenuBll.DeleteEntitiesSaved(menus); return(ResultData(null, b, b ? "删除成功" : "删除失败")); }
public static async Task <IPagedList <T> > Create(DbRawSqlQuery <T> superset, int count, int pageNumber, int pageSize) { var list = new AsyncRawQueryPagedList <T>(); await list.Init(superset, count, pageNumber, pageSize); return(list); }
public ChampionData GetChampionData(int gameDefinitionId) { DbRawSqlQuery <ChampionStatistics> championStatisticsData = dataContext.MakeRawSqlQuery <ChampionStatistics>(CHAMPION_SQL, new SqlParameter("GameDefinitionId", gameDefinitionId)); List <ChampionStatistics> championStatistics = championStatisticsData.ToList(); if (ThereIsATieForChampion(championStatistics)) { return(new NullChampionData()); } ChampionData championData = (from x in championStatistics select new ChampionData { PlayerId = x.PlayerId, NumberOfGames = x.NumberOfGames, NumberOfWins = x.NumberOfWins, WinPercentage = 100 * x.NumberOfWins / x.NumberOfGames, GameDefinitionId = gameDefinitionId }).FirstOrDefault(); if (championData == null || championData.NumberOfWins == 0) { return(new NullChampionData()); } return(championData); }
/// <summary> /// Check if the database is an old database without version (__MigrationHistory table) /// </summary> /// <param name="context"></param> /// <returns></returns> private bool IsOldDBWithoutHistoryTable(TContext context) { string str = String.Format(@"IF NOT EXISTS {0} AND EXISTS {1} SELECT 0 ELSE SELECT 1", CON_SQL_Check_Existence_MigrationHistory, CON_SQL_Check_Existence_CompetitionSet); object[] obj = { null }; try { // this will thow an InvalidOperationException in case the database model is older than the model DbRawSqlQuery qData = context.Database.SqlQuery(typeof(int), str, obj); foreach (var item in qData) { if ((int)item == 0) { return(true); } } return(false); } catch (InvalidOperationException ex) { // HResult = -2146233079 // Source = "EntityFramework" // Message = "The model backing the 'AnrlModel' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269)." if (ex.HResult == -2146233079 && ex.Source == "EntityFramework" && ex.Message.StartsWith("The model backing the")) { return(false); } throw; } catch (Exception) { throw; } }
async Task Init(DbRawSqlQuery <T> superset, int queryCount, int pageNumber, int pageSize) { if (pageNumber < 1) { throw new ArgumentOutOfRangeException("pageNumber", pageNumber, "PageNumber cannot be below 1."); } if (pageSize < 1) { throw new ArgumentOutOfRangeException("pageSize", pageSize, "PageSize cannot be less than 1."); } TotalItemCount = superset == null ? 0 : queryCount; PageSize = pageSize; PageNumber = pageNumber; PageCount = TotalItemCount > 0 ? (int)Math.Ceiling(TotalItemCount / (double)PageSize) : 0; HasPreviousPage = PageNumber > 1; HasNextPage = PageNumber < PageCount; IsFirstPage = PageNumber == 1; IsLastPage = PageNumber >= PageCount; FirstItemOnPage = (PageNumber - 1) * PageSize + 1; var num = FirstItemOnPage + PageSize - 1; LastItemOnPage = num > TotalItemCount ? TotalItemCount : num; if (superset == null || TotalItemCount <= 0) { return; } Subset.AddRange(await superset.ToListAsync()); }
private void TraceRequest(HttpRequestMessage request) { DbRawSqlQuery <string> query = ((EfDbContext)_dbContext).Database.SqlQuery <string>( "select name from sys.indexes"); Console.WriteLine(String.Join(",", query.ToArray())); }
public IHttpActionResult GetName() { InventoryEntities entities = new InventoryEntities(); DbRawSqlQuery <Stock> data1 = entities.Stocks.SqlQuery("select StockId from Stock"); return(Ok(data1)); }
public IList <LinksInfo> getClientLinks(string userID) { SmsMis.Models.Console.Handlers.Admin.SmsMisDB db = new SmsMis.Models.Console.Handlers.Admin.SmsMisDB(); DbRawSqlQuery <LinksInfo> data = db.Database.SqlQuery <LinksInfo> ("Select isnull(parent,0) as parentId,LinkID as linkID,label as linkLabel,url as url from vwClientAccess where accesstypeid=1 and UserID=@p0 order by linkid,sortorder", userID); return(data.ToArray()); }
public T GetQuery <T>(string name, Dictionary <string, object> parameters) where T : class { DbContextTransaction transaction = base.Database.BeginTransaction(); DbRawSqlQuery <T> query = base.Database.SqlQuery <T>(name, parameters.Values.ToArray()); transaction.Commit(); return(query.FirstOrDefault()); }
public QueryCacheItemTracker Initialize <T>(DbRawSqlQuery <T> query) where T : class { if (QueryCacheManager.IsAutoExpireCacheEnabled) { var internalQueryField = typeof(DbRawSqlQuery <T>).GetField("_internalQuery", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); if (internalQueryField != null) { var internalQuery = internalQueryField.GetValue(query); if (internalQuery != null) { object internalContext = null; var internalContextField = internalQuery.GetType().GetField("_internalContext", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); if (internalContextField != null) { internalContext = internalContextField.GetValue(internalQuery); } else { var setField = internalQuery.GetType().GetField("_set", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); if (setField != null) { var set = setField.GetValue(internalQuery); var internalContextProperty = set.GetType().GetProperty("InternalContext", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); if (internalContextProperty != null) { internalContext = internalContextProperty.GetValue(set, null); } } } if (internalContext != null) { var objectContextInitializedProperty = internalContext.GetType().GetProperty("ObjectContext", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); if (objectContextInitializedProperty != null) { var objectContextInitialized = objectContextInitializedProperty.GetValue(internalContext, null); if (objectContextInitialized != null && objectContextInitialized is ObjectContext objectContext) { Context = objectContext; AddHook(); } } } } } } return(this); }
private void GenerateReservation(DataContext context, List <Member> members, Tuple <List <Item>, List <ItemStatu>, List <SerialItem> > books, int bookNumber) { List <Reservation> reservations = new List <Reservation>(); List <ItemStatu> modifiedStatus = new List <ItemStatu>(); List <SerialItem> modifiedSerialItems = new List <SerialItem>(); int reservationNumber = members.Count * 2; var items = books.Item1; var itemStatus = books.Item2; var serialItems = books.Item3; for (int i = 0; i < reservationNumber; i++) { var serialItem = serialItems.FirstOrDefault(s => s.Library_status == 1 && s.Serial_item_status == 1); if (serialItem != null) { ItemStatu status = itemStatus.First(s => s.Item_id == serialItem.Item_id); if (status.Total_copy - status.Reserved_copy > 0) { DbRawSqlQuery <long> rawQuery = context.Database.SqlQuery <long>("SELECT NEXT VALUE FOR dbo.BatchId_Seq;"); var batchId = rawQuery.SingleAsync().Result; Reservation reservation = new Reservation { InsideReservation = new InsideReservation { Serial_item_id = serialItem.Serial_item_id, Batch_id = Convert.ToInt32(batchId) }, Batch_id = Convert.ToInt32(batchId), Member_id = members[i % members.Count].Member_id, Reserve_time = DateTime.Now.Date.AddDays(-_random.Next(7)), Pickup_method = (short)_random.Next(1, 2), Status = 1, Expected_return_date = DateTime.Now.Date.AddDays(members[i % members.Count].Loan_Rule.Max_loan_day) }; reservations.Add(reservation); status.Reserved_copy += 1; modifiedStatus.Add(status); context.Set <ItemStatu>().Attach(status); context.Entry(status).State = EntityState.Modified; serialItem.Library_status = 2; modifiedSerialItems.Add(serialItem); context.Set <SerialItem>().Attach(serialItem); context.Entry(serialItem).State = EntityState.Modified; } } } context.Set <Reservation>().AddRange(reservations); context.SaveChanges(); }
public T BasicQueryT <T>(string sql) { DbRawSqlQuery <T> result = dbcontext.Database.SqlQuery <T>(sql); if (result.Count() > 0) { return(result.First()); } return(default(T)); }
public List <T> BasicQueryListT <T>(string sql) { DbRawSqlQuery <T> result = dbcontext.Database.SqlQuery <T>(sql); if (result.Count() > 0) { return(result.ToList()); } return(null); }
public User Authenticate(string userName, string userPassword) { if (userName == null || userName.Equals("") || userPassword == null || userPassword.Equals("")) { return(null); } DbRawSqlQuery <User> affectedRows = Context.Database.SqlQuery <User>("IdentifyUser @name, @password", new SqlParameter("@name", userName), new SqlParameter("@password", userPassword)); return(affectedRows.FirstOrDefault()); }
public Probabilities AllProbabilities(int leagueId, int seasonId, int teamId) { DbRawSqlQuery <Probabilities> data = _context.Database.SqlQuery <Probabilities> ("EXEC sp_GetProbabilities @leagueId, @seasonId, @teamId", new SqlParameter("@leagueId", leagueId), new SqlParameter("@seasonId", seasonId), new SqlParameter("@teamId", teamId)); return(data.First()); }
public ActionResult Administrators(int?id) { string sqlExec = "select Email, Id as UserId from AspNetUsers"; DbRawSqlQuery <AccntUsers> data = db.Database.SqlQuery <AccntUsers>(sqlExec); ViewBag.EntId = (int)id; ViewBag.entAdmin = db.HisEntAdmins.Where(d => d.HisEntityId == id).Select(s => s.AccntUserId).ToList(); return(View(data)); }