标签: linq-to-sql

延迟LINQ to SQL选择查询执行

我正在构建一个使用LINQ to SQL的ASP.NET MVC站点.

在我的搜索方法中有一些必需参数和一些可选参数,我想在测试这些可选参数的存在时构建一个LINQ查询.


这就是我目前的想法:

using(var db = new DBDataContext())
        {
            IQueryable<Listing> query = null;

            //Handle required parameter
            query = db.Listings.Where(l => l.Lat >= form.bounds.extent1.latitude && l.Lat <= form.bounds.extent2.latitude);

            //Handle optional parameter
            if (numStars != null)
                query = query.Where(l => l.Stars == (int)numStars);

            //Other parameters...

            //Execute query (does this happen here?)
            var result = query.ToList();

            //Process query...
Run Code Online (Sandbox Code Playgroud)

这个实现会"绑定" where子句然后执行捆绑查询吗?如果没有,我该如何实现此功能?

另外,还有什么我可以改进的吗?

提前致谢.

c# linq asp.net asp.net-mvc linq-to-sql

0
推荐指数
1
解决办法
289
查看次数

如何将此SQL语句转换为Linq-to-SQL方法?

例如,假设我想查看我的数据库中是否存在用户:

Select * from Users where inputID = Users.ID
Run Code Online (Sandbox Code Playgroud)

然后,如果该结果带来> 0项,那么用户存在,对吗?

如何使用纯Linq-to-SQL类做这样的事情?

.net c# sql linq-to-sql

0
推荐指数
1
解决办法
102
查看次数

IQueryable <t>或IList <t>

我有我的BLL一些方法,从数据库中获取一些记录,并通过它结合数据控件如GridView或...与UI
是否方法我可以选择我的返回数据类型IQueryable<t>Ilist<t>.
我的问题是哪一个对我更好,为什么?其实我不知道这两种类型之间的区别,我不知道哪种情况最适合哪种情况?

谢谢

asp.net ilist iqueryable linq-to-sql

0
推荐指数
1
解决办法
299
查看次数

将LINQ内联查询转换为扩展方法

我似乎无法弄清楚LINQ Join扩展方法......我有以下LINQ内联查询:

var cc = from z in zipcodes
         join c in contactsRepo.UDF_SelectSome() on z.Zipcode equals c.Zip       
Run Code Online (Sandbox Code Playgroud)

LINQ-extension-method语法中的等价物是什么?

c# linq extension-methods join linq-to-sql

0
推荐指数
1
解决办法
2606
查看次数

加快页面加载和信息处理

在我的Web应用程序上,我正在加载一个页面,该页面可以在表格中加载多达8000行或更多行,每行都有自己的下拉列表.第一个过程被证明是非常低效的,但我被要求这样做.加载行的代码如下:

 <tbody>
        <%  var i = 0;



            foreach (var row in Model)
            {
                var comp = "ok";
                if (row.LidExpected != (string.IsNullOrEmpty(row.LidObtained) ? null : row.LidObtained) || row.QuantityExpected != row.QuantityObtained)
                {
                    comp = "ko";
                }
                %>
        <tr class="child_row <%= comp %>">
            <input type="hidden" name="Goods.index" value="<%= i %>" />
            <td class="field <%= InventoryGoods.Metadata.Gid.CssClass %>">
              <%--  <%= Html.Encode(row.Gid) %>--%>
              <%--http://tecnicos.urbanos.com/Goods/Details/... --%>
               <%= Html.ActionLink(row.Gid, "Details", "Goods", new {id = row.Gid}, null) %>
                <%= Html.Hidden(String.Format("Record[{0}].Gid", i), row.Gid) %>
            </td>
            <td class="field <%= InventoryGoods.Metadata.LidExpected.CssClass %>">
                <%= …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc linq-to-sql

0
推荐指数
1
解决办法
305
查看次数

我怎样才能缩短我的linq代码?

喜; 我试着运行我的代码.我的程序运行得更慢了.我需要给性能也GetAliSpReqs写更少的代码(),GetMaintData(); GetAccess的.... GET(...我怎样才能写出下面的代码更有效,他们的速度太慢也不是有用的forexample我试着写. GetAliSpReqs()小于1-2行?我怎么样?请帮帮我...

  public void LoadById(string SearchItem)
        {
            var myTechnicTasks = engTaskCtx.Tasks.Where(task => task.MyTechnicReference.StartsWith(SearchItem)).Select(task => new MyTask()
            {
                id = task.id,
                MyTechnicReference = task.MyTechnicReference,
                MPDReference = task.MPDReference,
                tasktypeid = task.tasktypeid,
                shortdesc = task.shortdesc,
                interval = task.interval,
                critical = task.critical,
                mandatory = task.mandatory,
                dupinsp = task.dupinsp,
                dualsystemmaint = task.dualsystemmaint,
                MPDSkill = task.MPDSkill,
                MPDCrew = task.MPDCrew,
                MPDAccessMH = task.MPDAccessMH,
                MPDTotalMH = task.MPDTotalMH,
                extratime = task.extratime,
                Team = task.Team,
                MaintData = EngGetCalculatedTaskField.GetMaintData(task.id),
                AliSpReqs = EngGetCalculatedTaskField.GetAliSpReqs(task.id),
                Access = EngGetCalculatedTaskField.GetAccess(task.id),
                preperation = task.preperation, …
Run Code Online (Sandbox Code Playgroud)

.net c# linq linq-to-sql visual-studio

0
推荐指数
1
解决办法
126
查看次数

如何在c#中优化LinqToSQL

我试图使用linq2sql更新SQL 2005中的表中的大约150,000条记录.说到xx.SubmitChanges(),它需要大约45分钟.

我在四核PC上运行sql作为本地实例.

有谁知道为什么这么长时间?或者这是正常的吗?

代码示例:

var y = db.x.Where(j => j.NumberOfOrders > 0).Select(k => k);

foreach (var item in y)
{
    try
    {
        item.k = "bla";
    }
    catch (Exception ex)
    {
        //
    }
}

db.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)

c# optimization linq-to-sql

0
推荐指数
1
解决办法
182
查看次数

存储过程在LINQ中返回varchar

我想知道在SQL中是否可以从存储过程返回varchar值,我看到的大多数示例返回值都是int

proc中的示例

declare @ErrorMessage varchar(255) if @TestFlag = 0 set @ErrorMessage = 'Test' 
return @ErrorMessage 
Run Code Online (Sandbox Code Playgroud)

在asp.net上调用更新:

错误: 将varchar值'Development'转换为数据类型int时转换失败.

   using (DataContextDataContext dc = conn.GetContext())
{
    string serverName = ""
    var result = dc.spGetServerName(ref serverName);                    
    return result.ToString();

}
Run Code Online (Sandbox Code Playgroud)

sql-server linq-to-sql

0
推荐指数
1
解决办法
589
查看次数

条件Linq查询

我有一个下拉列表,选中时会从数据库中提取数据.下拉列表中有许多选项,其中一个是"全部".我希望当用户选择"全部"选项时,它应该将所有内容从数据库中拉出来.实现此功能的好方法是什么?

c# linq-to-sql

0
推荐指数
1
解决办法
251
查看次数

关于LINQ的简单问题

我在LINQ实现中遇到了这个问题.我得到的错误在代码中倾向于作为注释

public partial class _Default : Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            GridViewBind(string.Empty);
        }
    }

    private void GridViewBind(string criteria)
    {
        string strConn = ConfigurationManager.ConnectionStrings["linqconnstr"].ConnectionString;

        MyDB _db = new MyDB(strConn);

        IEnumerable<UserRecord> results;

        if(criteria == string.Empty)
        {
            // 'System.Data.Linq.Table<UserRecord>' does not contain a definition      
            // for 'ToArray' and no extension method 'ToArray' accepting a first
            // argument of type 'System.Data.Linq.Table<UserRecord>' could be found
            // (are you missing a using directive or an assembly reference?)
            results = …
Run Code Online (Sandbox Code Playgroud)

c# linq linq-to-sql

0
推荐指数
1
解决办法
4869
查看次数