在我的项目(web应用程序)中,我使用Autofac作为DI。我有一个LINQ表达式,它连接同一个DB中的两个不同的表,如下所示(All()只是dbSet.AsQueryable()上的一个包装器)
from repo1 in repository1.All()
join repo2 in repository2.All()
on repo1.SomeField = repo2.SomeField
.....
我正在用repo1()在容器生成器中注册组件(repo2和InstancePerRequest)。
当我在LINQ代码上执行我的代码时,它会引发以下错误:“指定的LINQ表达式
Introduction
假设我有一个rest服务,它返回项目:
GET /items
GET /items/7
POST /items
etc.
我们也有一组项目:
GET /groups
GET /groups/16
POST /groups
etc.
然后我们可以在一个特定的组中获得这些项目:
/items?groupid=16
这一切都很直接。
问题
既然我们有了一种方法来获取特定组中的项,那么我们是否也应该提供一种方法来获取不属于特定组的项呢?为什么?因为如果客户端想要将项添加到组中,则必须知道哪些项尚未添加。
我认为有两种选择:
我们提供了一些查询数据的方法
别做任
考虑以下linq查询
var result = from a in
from b in filledTable
join c in distinctList on b[0].SerialNumber equals c.Field("SERIAL NUMBER")
select new { b, c }
group a by new { a.b[0].SerialNumber } into d
select new
我有一个非常简单的Linq查询(为了查看结果,.Dump()函数与LinqPad一起使用):
void Main()
{
var myList = new List<string>
{
"One", "Two", "Three"
};
var result = from o in myList
select o;
result.Dump();
}
我如何向填充result的Linq查询中注入一个if语句,以便它检查列表中是否有“四”--如果不是,那么添加它?我认识到
为什么在ienumerable上的循环中添加事件处理程序时,它永远不会被调用?
例如:
IEnumerable<MyType> list = someCollection.Select(i => new MyType(i));
foreach (var item in list)
item.PropertyChanged += item_PropertyChanged; <-- this never gets called
但是,如果列表的赋值方式如下
list = someCollection.Select(i => new MyType(i)).ToArra
为什么在下面的代码中出现以下错误?
我想,如果我将自定义对象放入其类型的泛型列表中,那么IEnumerable会得到处理吗?我还需要对这个列表做些什么来使用LINQ呢?
'System.Collections.Generic.IEnumerable<TestLinq23.Customer>‘类型不能隐式转换为“TestLinq23.Customer”
using System;
using System.Collections.Generic;
using System.Linq;
namespace TestLinq23
{
class Program
我正在将一个LINQ2SQL项目转换为使用NHibernate。我还不能有效地移植的一个查询是全文搜索。以前我使用存储过程来完成搜索,但现在我直接将其作为查询进行访问。SQL查询为:
select a.id, a.parentID, a.text, a.summary
from articles a
inner join containstable(articles, (summary, text), :query) ar on
a.id = ar.[KEY]
order by ar.RANK desc
当我在SSMS中运行查询时,我得到了预期的结果--只是articl
我是ASP.net和LINQ的新手,但是教程很短。我正在创建一个Web项目,并在我的模型下创建了一个名为性别的类,如下所示。
public class Gender
{
public int Id { get; set; }
public string Description { get; set; }
public Language LanguageId { get; set; }
public int InternalCode { get; set; }
public bool isActive { get; set; }
public Da
我有一个项目列表和LINQ查询它们。现在,使用LINQ的延迟执行,后续的foreach循环将只执行一次查询,还是对循环中的每一次执行?
给出这个例子(取自)
// The Three Parts of a LINQ Query:
// 1. Data source.
int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 };
// 2. Query creation.
// numQuery is an IEnumerable<int>
var numQuery =
我使用以下查询来显示我的数据库中包含数据的月份列表。
SELECT DATENAME(MONTH, EVENT_DATE) + ' ' + DATENAME(YEAR, EVENT_DATE) AS MonthYear
FROM [ODA].[dbo].[REPORT_CASE_EXT]
GROUP BY DATENAME(MONTH, EVENT_DATE) + ' ' + DATENAME(YEAR, EVENT_DATE)
如果我将以下排序添加到查询中,我会得到一个错误,因为它们不会出现在groupby中
SORT BY DATENAME(YEAR, EV
我的linq查询得到了一个非常奇怪的结果,我不明白:
public class Person
{
public Address Address { get; set; }
public string Name { get; set; }
...
}
假设我有一个带有一个条目的ICollection<Person>,而那个人有一个地址null
当我执行以下linq语句时:
var test = person.Select(x => x.Address).ToList();
test变量是一个包含1项的列表,即null。
为什么我要得到一个null条
我正在使用LINQ to SharePoint查询从SharePoint列表返回项目。
var myOpenTasksQuery = from myTasks in tasks
where myTasks.TaskStatus != TaskStatus.Completed
select myTasks
然而,我正在查询的列表,一个OOTB任务列表,有许多多项选择字段(状态,优先级),它们被转换为枚举。在我的查询结果中,任务项的状态返回为"_2Normal",而不是我期望的"(2
我在我的商业模型中添加了一个列表字段。它还没有存储在数据库中,我希望用如下所示的内容临时映射它:
return MyContext.Foos.Select(foo=> new Foo
{
Id = foo.Id,
Name = foo.Name,
RequiredFeatures = new List<string>()
}).ToList();
但是,实体框架抱怨无法实例化LINQ实体查询中的新列表:
无法在LINQ实体查询中初始化实现'System.Collections.Generic.List`
我必须给用户一个从项目列表中选择的选项,然后,根据他们选择的单个项目,我需要从该项目中获取guid。这将由来自Sql表的Linq查询填充。
我是这样开始的:
private void PopulateGatewayList()
{
var gateways = from gw in _entities.Gateways
where gw.IsActive
select gw;
foreach (var gateway in gateways)
{
checkedListBox_Gateways.Items
嘿,我目前在使用linq的WPF datagrid时遇到了问题,目前我正在将三个表中的一组记录显示到一个数据网格中,这工作得很好,并且我正确地检索了所有相关信息。
然而,当我加载数据网格时,我点击了第三条记录,它选择了第一条记录,而我不能改变它。我可以在按住Ctrl键的同时单击来取消选择第一条记录。
我不知道为什么要这样做,但我把范围缩小到了我的linq查询,我试着写一个更复杂的linq查询使用连接等,它检索相同的数据,但我仍然有这个问题:/任何想法将good...thank你提前
apptGrid.ItemsSource = (from o in DbList.OrderedAppointm
我使用LINQ已经有一段时间了,但似乎被一些关于独特项目的东西所困扰,我有一个文件夹列表:
List<Stock> stock = new List<Stock>();
它具有以下属性: string ID、string Type、string Description、example:
public class Stock
{
public string ID { get; set; }
public string Type { get; set; }
public string Description { get; set; }
}
我想有一个
在一个.NET标准2.0 C#类库项目中,我使用的是。使用LINQ,我想把一个整数列表和一个用户列表连接起来,得到如下结果:
//List of Ids(can contain 10,000+ entries)
var lstNums = new List<int>(){1,2,3,4 };
var lstOutput = (from u in _context.Users
join id in lstNums on u.Id equals id
select u).ToList();
这个查询在En
我有一个针对实体框架对象的LINQ查询。以下是查询的摘要:
//a list of my allies
List<int> allianceMembers = new List<int>() { 1,5,10 };
//query for fleets in my area, including any allies (and mark them as such)
var fleets = from af in FleetSource
select new Fleet
{
flee
我正在进行一些测试,并且直接执行LINQ到SQL查询,比通过LINQ查询调用存储过程至少快80%。
在Server分析器中,使用泛型LINQ查询
var results = from m in _dataContext.Members
select m;
相对于存储过程,只需19毫秒。
var results = from m in _dataContext.GetMember(userName)
select m;
(GetMember是存储过程),执行相同的查询,需要100毫秒
为什么会这样呢?
编辑:
笔直的LINQ在Profiler中是这样的
SELECT
[t1].
我对Linq查询很陌生。我想通过“左加入”来获得列表。是否可以在一个linq查询中获取所有数据。
public class Center {
public int centerId,
public int customerId,
public List<Note> notes
}
public class Note {
public int noteId,
public int centerId,
public Instruction instruction
}
public class Instruction {
pub
我正在尝试使用这个Linq表达式
Dim ex2 As Expression(Of Func(Of Advertisement, Boolean)) =
Function(a) a.Address.CountryCode = ISO AndAlso a.Address.Region = EmptyString
以这种方式
Dim ltest = (From a In db.Advertisements.AsExpandable().Where(ex2)).ToList
但是它产生了这些疯狂的where条件
DECLARE @p__linq__0 NVARCHAR (MAX) = N