我试图使用join函数在linq中应用一个连接表。但我发现了一个错误:
错误CS1941连接子句中的一个表达式的类型无效。类型推断在调用"GroupJoin“元素时失败。
var query = from c in repos.GetTable<Table1>()
join ct in repos.GetTable<Table2>()
on c.Nr_PY equals ct.Nr_PY1 into g
我对Linq完全陌生。我需要将分页逻辑从SQL转换为Linq。我在SQL中的分页逻辑是:
where num BETWEEN ((@pageNumber-1)*@pageSize) + 1 and (@pageSize * @pageNumber)
所以,如果pageNumber是2,pageSize是30,那么我的查询将把记录从行31向上拉到行60。
我在LINQ中实现了相同的逻辑,但它错误地提取了记录的no:
query.Skip(pageNumber - 1).Take(pageSize * pageNumber).AsQueryable();
有谁能告诉我LINQ查询中出了什么问题吗?
在使用LINQ2SQL时,我会得到这个错误:
The query contains references to items defined on a different data context.
下面是代码:
var instances = (from i in context.List
join j in context.CatsList on i.ListID equals j.ListID
join c in context.Cats on j.CatID equals c.CatID
我有14个LINQ查询要在一个方法中解析。它们没有一个基本查询,我可以将它们作为子查询挂起,然后将结果存储为匿名类型实例的属性。
与其对数据库进行14个单独的调用,我如何确保它们都是在同一个操作中调用的?
更新
最后我用了一个诡计的黑客。我知道用户表中总是至少有一个用户,所以我最终使用了:
var data = (from tmp in DataContext.Users
select new {
Property1 = (from...),
Property2 = (from...),
我在我的.NET MVC应用程序中使用Dynamic Linq Library ()来查询SQL Server数据库。到目前为止一切都很好。
但是,每当我使用方括号来指定包含空格或连字符的麻烦的列名时,动态Linq库都会给出一个“期望的表达式”错误。下面是一些示例:
var query = context.FetchIceCream().AsQueryable().Where("Chocolate = 1"); // This is fine
var query = context.FetchIceCream().AsQueryable().Where("[Rum an
保持简单:我希望填充一个包含列表的自定义类型。
List<ParentModel> parentModelList =
(from c in _context.children
join p in _context.parents on c.ParentId equals p.ParentId
orderby c.BirthDate
where p.GenderId = gender.GenderId // Could be a male parent or female or whatever
group c by p into chil
我正在使用EF。这是我的LINQ查询
public List<Tuple<int, string>> GetList()
{
return (from c in DALContext.MST
select new Tuple<int, string>(c.CD, c.NAME)).ToList();
}
当我调用GetList()时,它抛出一个异常:在LINQ to Entities中只支持无参数的构造函数和初始化器
相反,当我重写这个查询时:
List<Tuple<int, string>>
这个查询有什么问题:
var user = context.Users.Single(u => u.UserPrincipalName == "test@company.l");
我为什么要得到这个例外?
UserPrincipleName是一个用户属性..。
System.NotSupportedException: The specified type member 'UserPrincipalName' is not supported in LINQ to Entities. Only initializers, entity members, a
我想知道将SQL查询转换为LINQ时的输出:
select coalesce(SUM(cdin_ActMortgageAmnt),0)
from CRM.dbo.CDIndex,CRM.dbo.company
where comp_companyid=cdin_companyid
and comp_idcust like '%10319%'
and cdin_goodscategory ='Financed'
and cdin_Deleted is null
and cdin_startunstufdate is not null
我在上问过这个问题,考虑到这个问题的长度,我没有得到任何答案,所以我想我会得到更多的答案。
我必须根据用户分配给特定客户的任务来决定如何显示用户。域对象看起来像下面这个非常简化的示例:
public class Customer
{
public string Name { get; set; }
public IEnumerable<Users> AssignedUsers { get; set; }
}
在现实世界中,我还将评估他们是否拥有权限(在安全标志上使用按位比较)来查看这个特定的客户,即使他们没有被直接分配给它。
我在这里试图坚持 (DDD)原则。另外,
我大约有5个类似于linq的查询,就像这个SortPerson() metod。我正在尝试开发一个使用下拉列表的搜索,其中用户可以从下拉列表中选择值,并从用户选择使用的一个或多个下拉列表中返回值。
有更简单的方法来开发吗?我们将非常感谢你的帮助。
public void SortPerson()
{
var personId = ddlPerson.SelectedValue;
var data = new MyModelContext();
var documents = from d in data.tblDocuments
我正在学习LINQ,并且正在尝试这个与select子句相关的例子。
var q = from c in xmlDoc.Descendants("site").Where(tech => tech.Attribute("technical").Value == "true")
.Select(n => new { SiteName = n.Element("name").Value});
上面的查询给了我一个错误:
The type of the expression in the
我在应用程序中使用linq to sql执行selects操作,使用传统的sql语法执行其他操作(insert、update、delete)。
但是,当我插入或删除某些内容时,我的datacontext不会更新。因此,如果我搜索所选对象的ID,则返回一个空查询。我检查了数据库,我确信sql语法运行良好。
简而言之,当我用SQL语法处理我的数据库时,它会改变我的数据库,但不会改变DataContext实例!
这个问题源于一个bug,在这个bug中,我遍历了Int64的集合,并意外地执行了foreach (int i in myCollection)。我试图调试一个令人费解的问题:当我执行linq查询时,i不是myCollection的一部分。
以下是一些令我惊讶的代码:
Int64 a = 12345678912345;
Console.Write((int)a);
我希望编译器给我一个错误。通常的情况是,隐式转换不存在。但不,它根本不介意这个。连警告都没有!
顺便提一句,(int)a的输出值是1942903641。
我很想知道为什么在没有任何警告的情况下允许强制转换,以及它是如何得到这个值的。
我有个大问题。我不知道我的LINQ查询出了什么问题。下面是完成这项工作的SQL查询:
SELECT TOP (100) PERCENT MIN(DateTime) AS DateTime, ETAG
FROM dbo.Table
GROUP BY ETAG, LEFT(DateTime, 10)
ORDER BY ETAG
这个查询在执行时给出了大约50k个结果。我希望在LINQ中也有同样的效果。这是我尝试过的:
from d in Table
group d by new { d.ETAG, Date = d.DateTime.Value.Year + d.DateT
我正在尝试使用以下命令将DataTable转换为Linq
DIm result = From r in dt.AsEnumerable()
Select new ( col1 = r.Field<integer>("id"), col2 = r.Field<string>("desc"))
但是我得到了接近'new‘的错误(说类型是预期的。
这个查询有什么问题?
我将加密的电子邮件地址存储在我的数据库中,并使用我的DoDecrypt函数在AspGrid中显示未加密的电子邮件地址
因此,我的LINQ查询类似于
Dim Query = From c In DB.Something Select New With {.Email = DoDecrypt(c.Email)}
它在调试模式下返回一组电子邮件...
在使用Linq to datatable函数后,返回的结果是在数据库中找到的结果,这些结果是加密的。
这里出了什么问题?我应该如何修改我的Linq查询?
下面是Linq to datatable函数
Public Shared Function To
这个查询有什么问题?
var model =
SessionObjectsMSurvey.ContractList
.Where(y => y.ContractTitle.ToUpper().Contains(upper))
.GroupBy(g => new
{
g.BriefTitle,
g.ContractId
})
.Select(
x => new
{
label = x.BriefTitle,
id =
我是C#的新手,现在我正在学习LINQ,并试图选择一些数据。。。
var carMake = (from table in entity.Make select new { table.ID, table.Name }).ToList();
我写了上面的查询,但我有一个错误:
The type of the expression in the select clause is incorrect. Type inference failed in the call to 'Select'.
我在网上搜索,但找不到任何解决方案。我不知道这个查询有什么问题。
提前谢谢。