Tag: linq

linq2sql图像保存问题

我有一个具有属性的对象: [Column] public Binary Image { get; set; } 当第一次保存对象时,每次都可以,但是当它被修改时,我在SubmitChanges上得到一个例外: 数据类型image和varbinary(max)在等于运算符中不兼容。 这可能是什么问题?

LINQ表达式包含对与不同上下文关联的查询的引用

这是我的代码: var myStrings = (from x in db1.MyStrings.Where(x => homeStrings.Contains(x.Content)) join y in db2.MyStaticStringTranslations on x.Id equals y.id select new MyStringModel() { Id = x.Id, Original = x.Content, Translation = y.translation }).ToList(); 我得到的错误是指定的LINQ表达式包含对与不同上下文关联的查询的引用。 我知道问题是我尝试从db1和db2访问表,但我该如何解决这个问题?

根据另一个查询结果的结果过滤linq查询

我想过滤一个linq查询 我有2个linq语句 第一个获取我想要的所有商店,第二个是我根据第一个查询中找到的结果过滤信息的地方。 var stores = ctx.Stores.Where(ps => ps.ParentStoreID == parent.ParentStoreID && ps.StoreID!=storeID); var query = (from a in ctx.TransactionTable from b in ctx.MappingTable.Where(x => x.TransactionId== a.TransactionId).DefaultIfEmpty() where a.StoreID!=storeID select new { Transactions = a, Mapping = b }).ToList(); 如何在第二个查询中添加另一个where子句,只返回存储结果中包含a.StoreId的结果?

entity framework中的“它”是什么

请原谅我,如果以前曾经问过,但我的搜索中没有出现“它”。 我有两个数据库表Person和Employee建模一个Table-per-Type(例如Employee is-a Person)。 在我的edmx设计器中,我定义了一个单独的实体Employee,它将每个列映射到它们各自的基础表(例如Name – > Person,Salary – > Employee)。 “它”允许我在LINQ表达式中执行这样的操作: context.Employees.Where(“it.Name LIKE ‘M%’ AND it.Salary > 1234”) 是否有任何好的链接解释我如何期望“它”表现? 我认为它不是一般的LINQ事物,它对Entity Framework有点具体。 编辑0:生成的ObjectContext的C#代码如下: public partial class TestObjectContext : ObjectContext { // lots of boilerplate removed for clarity public ObjectSet Employees { get { if ((_Employees == null)) { _Employees = base.CreateObjectSet(“Employees”); } return _Employees; } […]

创建一个新的匿名类型列表以联合到现有的匿名类型列表

我有一个从数据库中获取的匿名类型列表: var takenChannels = (from b in bq.GetStuff(db) where b.RecordType == “H” && b.TourStartDateTime.Date == date select new { Start = b.TourStartDateTime, End = b.TourEndDateTime, Channel = b.RadioChannel, TourArea = b.TourArea }).ToList(); 然后我使用这个列表信息在foreach循环中做一些事情。 我想在这个列表中添加一个新的匿名项目,当我回到循环中时。 就像是: takenChannels.Union{new[] { new{Start = DateTime.Now, End = DateTime.Now.AddDays(1), Channel = 25, TourArea = “Area” }}); 显然这不起作用。 我该怎么做? 编辑1: takenChannels.Add(new { […]

使用LINQ拆分字符串

我希望通过我的结果来命令我的字符串行中的匹配计数。 所以这是代码 .ThenByDescending(p => p.Title.ToLower() .Split(‘ ‘) .Count(w => words.Any(w.Contains))); 但它给我带来了错误,并说LINQ无法将Split解析为SQL。 LINQ to Entities无法识别方法’System.String [] Split(Char [])’方法,而且此方法无法转换为商店表达式。 如何通过LINQ实现Split? 例如,对于此数组,它必须以这种方式排序 words = { “a”, “ab” } ab a ggaaag gh //3 matches ba ab ggt //2 matches dd //0 matches

在数组中查找多个索引

说我有这样的数组 string [] fruits = {“watermelon”,”apple”,”apple”,”kiwi”,”pear”,”banana”}; 是否有内置函数允许我查询“apple”的所有索引? 例如, fruits.FindAllIndex(“apple”); 将返回1和2的数组 如果没有,我该如何实施呢? 谢谢!

LinqToSql预编译查询有什么好处?

我正在查看在Nutshell书中从C#4.0中获取的LINQPad提供的示例LINQ查询,并查看了我从未在LINQ to SQL中使用的内容…编译查询。 这是确切的例子: // LINQ to SQL lets you precompile queries so that you pay the cost of translating // the query from LINQ into SQL only once. In LINQPad the typed DataContext is // called TypeDataContext, so we proceed as follows: var cc = CompiledQuery.Compile ((TypedDataContext dc, decimal minPrice) => from c in […]

如何使用Session.Query设置Nhibernate LINQ命令超时

是否有人知道在使用Session.Query时设置UnderlyingCriteria方法? 我正在尝试为一个特定查询设置更严格的命令超时(或查询超时),我试图避免在会话中的连接或其他查询上添加该约束。 我在旧的QueryOverfunction中找到了你可以使用的东西 // QueryOver returns a IQueryOver an nHibernate class // with access to UnderlyingCriteria var query = Session.QueryOver(); query.UnderlyingCriteria.SetTimeout(120); 问题在于它是旧的,有缺陷的,只是有一大堆function问题。 使用Query返回IQueryable var query = (from c in Session.Query()); IQueryable是一个MS类,没有明显访问命令超时等。 另一种选择是以某种方式为所有命令设置会话命令超时,然后恢复到默认值,但我没有看到任何公共机制来执行此操作,除了先设置命令超时并将其保留,比较如何为NHibernate LINQ语句设置超时

Linq查询 – 在另一个列表中列出

我试图在另一个(提供)列表中选择至少有一个城市名称的国家/地区。 很抱歉很难解释,请参阅下面的代码: 当我调用GetListOfCountires时,它应该返回NZ和CN。 我也想用Linq而不是foreach。 private static List Countries = new List(); private static void Main() { var city1 = new City {Name = “Auckland”}; var city2 = new City { Name = “Wellington” }; var city3 = new City { Name = “Perth” }; var city4 = new City { Name = “Sydney” }; var […]