标签: linq-to-sql

dbml文件 - 创建数据库

我正在尝试使用BA.dbml文件(Linq to Sql)创建数据库.我知道我必须创建DataContext和创建数据库.但我不知道该怎么做.我是否必须DataContextBA.cs文件中创建.

这可能是多余的帖子,我很抱歉.

sql-server linq-to-sql c#-4.0

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

MVC应用程序中的表连接速度非常慢

我有点不知道为什么我的MVC应用程序中的一个ASP视图运行得如此之慢.

我在控制器中使用linq选择一些数据.这很快就会运行:

public ActionResult Progress(int ID)
        {


            var reviewitems = from ri in db.ReviewItems
                         where ri.Enrolment.Course.LearningArea.LearningAreaID == ID && ri.Review.ReviewSeries.StartDate < DateTime.Now && ri.Review.ReviewSeries.EndDate > DateTime.Now && ri.Progress < 2
                         select ri;


            return View("Progress", reviewitems);


        }
Run Code Online (Sandbox Code Playgroud)

然后我在ASP视图中执行foreach循环,遍历已经传递给视图的'reviewitem'类型的数据的每一行.这很快:

<%foreach (var ri in Model)
  {  %>
<tr>
<td><%= ri.Progress %></td>
</tr>
<%} %>   
Run Code Online (Sandbox Code Playgroud)

我需要显示更多信息,因此我需要加入"评论"表(再次提供快速结果),然后加入"学生"表.这就是问题所在,开始耗时超过30秒:

 <%foreach (var ri in Model)
  {  %>
<tr>
<td><%= ri.Review.Student.Surname %></td>
</tr>
<%} %>   
Run Code Online (Sandbox Code Playgroud)

每个评论项目链接到一个独特的学生,所以我不明白为什么这么长时间.有没有人有任何想法,我应该开始寻找为什么它这么慢?据推测它与'Student'表(实际上是一个SQL Server视图)有关,但我可以使用SQL在一秒钟内从中选择所有行?

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

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

你会把这个方法设为静态吗?

在代码审查期间,我向团队迅速提出了一种方法,我已经制定了静态方法,一个人同意没有理由不静态,一个人不同意说他不会让它静止,因为没有必要只是为了安全起见,以便将来进行修改和测试.

所以我做了很多研究,显然这是一个专门的案例,但我想知道在这种情况下你会做什么以及为什么?

(它基本上是一种帮助方法,我从一些不同的方法调用,一个非常低的流量页面.更多我的知识和静态学习.)

private IEnumerable<Category> GetCategoryByID(int id, Context context)
{
    var categoryQuery = from selectAllProc in context.SelectAll_sp()
                        where selectAllProc.CategoryID == id
                        select selectAllProc;
    return categoryQuery;
}
Run Code Online (Sandbox Code Playgroud)

.net c# static linq-to-sql

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

Linq to SQL转换为SQL语法

我正在尝试在Linq中执行以下查询

SELECT *
FROM Table1 T1
INNER JOIN Table2 T2
ON T1.ID = T2.AnotherID
LEFT OUTER JOIN Table3 T3
on T1.ID = T3.AnotherID
Run Code Online (Sandbox Code Playgroud)

它在正确的SQL语法中按预期工作,但我很难将其转换为相应的Linq to SQL语法.

如何将左连接与内连接组合?

问候,

c# sql linq linq-to-sql

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

Linq查询相当于sql

我在Linq有这个代码.任何人都可以提供t-sql.谢谢!

var tsr = from t in db.Tngs
from l in t.TngUsr
from td in t.TngDepts
from u in db.Users
where t.TId == tId && u.UserId == l.UserId && u.Departments.DeptId == td.Departments.DeptId
Run Code Online (Sandbox Code Playgroud)

是左外第二个/第三个?

c# linq linq-to-entities linq-to-sql

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

Linq-to-SQL仅搜索日期的DATE部分

我需要根据日期范围获取数据,如:

SELECT * FROM MyTable WHERE 
myDate >= 'May 17 2012' AND 
myDate <= 'May 17 2012'
Run Code Online (Sandbox Code Playgroud)

我在LINQ中编写了这个查询,问题是LINQ正在将此查询转换为:

SELECT * FROM MyTable WHERE 
myDate >= 'May 17 2012 12:00:00:000AM' AND 
myDate <= 'May 17 2012 12:00:00:000AM'
Run Code Online (Sandbox Code Playgroud)

问题是LINQ也在考虑时间部分,但我只需要搜索日期部分.

谁能帮我?

谢谢.

comparison date sql-server-2008 linq-to-sql

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

Linq-to-SQL反向包含

我怎么会扭转在LINQ到SQL查询中包含这样我可以检查TitleDescription含有从我的列表中的任何字,是这样的:

var query = context.Shapes.Where(x => x.Title.Contains(words));
Run Code Online (Sandbox Code Playgroud)

这就是我现在所拥有的,但这与我的需要相反.

 List<string> words = Search.GetTags(q);
 //words = round,circle,square

 using(ShapesDataContext context = new ShapesDataContext())
 {
    var query = context.Shapes.Where(x => words.Contains(x.Title) || 

    words.Contains(x.Description));
 }

// Item 1: Title = Elipse , Decsription = This is not round circle
//This should be a match! but words doesn't contain 
//"This is not round circle", only round and circle so no match
Run Code Online (Sandbox Code Playgroud)

UPDATE

我现在有

  var query = context.Shapes.Where(x => words.Any(w => x.Title.Contains(w) || …
Run Code Online (Sandbox Code Playgroud)

c# linq-to-sql

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

如何使用left join,aggregate和where子句创建Linq to Sql

有谁知道如何将此查询转换为LINQ to SQL?

SELECT posts.*, count(COMMENTS.*) AS comment_count FROM POSTS
LEFT JOIN COMMENTS on POSTS.id = COMMENTS.post_id
WHERE comments.date IS NULL OR comments.date >= [NOW]
GROUP BY posts.id
ORDER BY comment_count DESC
Run Code Online (Sandbox Code Playgroud)

它在SQL中很简单,但是我无法将我的头围绕linq包装到sql.任何帮助,将不胜感激!

谢谢

c# database entity-framework linq-to-sql

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

在asp.net mvc 3中使用LINQ update特定列

我有以下代码来更新用户列

 public void UpdateLastModifiedDate(string username)
        {
            using (AppEntities db = new AppEntities())
            {
                var result = from u in db.Users where (u.UserName == username) select u;

                if (result.Count() != 0)
                {
                    var dbuser = result.First();

                    dbuser.LastModifiedDate = DateTime.Now;
                    db.SaveChanges();
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

对于UpdateLastLogOutDate,UpdateLastLoginDate,我有其他两个函数几乎与上面的函数相同.所以,我决定为所有人定义单个函数来更新Last Date,如:

public void UpdateLastDate(string username, string ColumnName);
Run Code Online (Sandbox Code Playgroud)

在这里,我不能像这样放置ColumnName变量:

dbuser.ColumnName = DateTime.Now;
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以使用LINQ来做到这一点

linq-to-sql asp.net-mvc-3

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

使用LINQ删除记录时出错

我尝试将SQL删除命令更改为LINQ.这是我的SQL命令:

DELETE FROM [TrackPoints]
WHERE [RouteFK] IN (SELECT RouteId
                    FROM Routes
                    WHERE UserId = @UserId)
Run Code Online (Sandbox Code Playgroud)

这是我写的LINQ代码:

int UID =1;
FirstDataContext aspnetdb = new FirstDataContext();
var res1 = from q1 in aspnetdb.Routes
           where q1.UserId == UID
           select q1.RouteId;
foreach (var k in res1)
{
    var eigen = from p in aspnetdb.Trackpoints
                where p.RouteFK == k
                select p.TrackPointId;

    aspnetdb.Trackpoints.DeleteOnSubmit(eigen.First());
    aspnetdb.SubmitChanges();
}
Run Code Online (Sandbox Code Playgroud)

但在这一行我有一个错误:

aspnetdb.Trackpoints.DeleteOnSubmit(eigen.First());
Run Code Online (Sandbox Code Playgroud)

那说:

'System.Data.Linq.Table.DeleteOnSubmit(LINQ_Test.Trackpoint)'的最佳重载方法匹配有一些无效的参数

我该怎么办?

.net c# linq exception-handling linq-to-sql

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