Tag: linq

检查ac#list中的某些项是否相同

我想根据列表中的项目检查列表中的某些项目是否相同。 List productDTOs; ProductDetailDTO是 – public class ProductDetailDTO { public int ProductId { get; set; } public string Name { get; set; } public string Category { get; set; } public byte[] Image { get; set; } public string Description { get; set; } public string Brand { get; set; } public string GUID { […]

Linq to SQL / filter duplicates

我在我的sql server 2012中有一些重复的视图,我想用最新的方式对它们进行排序并过滤所有其他的 – 任何人都可以帮助我吗? 我在SQL Server 2012中的观点: GUID(作为主键),数字,日期时间和名称 +—–+———-+——————————–+—– | guid | number| datetime | name +—–+———-+——————————–+—— | b105..| 1234567|2014-07-07T16:32:20.854+02:00:00|Name1 | s1b5..| 1111222|2014-07-06T16:30:21.854+02:00:00|Name2 | b17a..| 1234567|2014-07-06T15:22:17.854+02:00:00|Name1 | f205..| 1233333|2014-07-07T17:40:20.854+02:00:00|Name3 | b11t..| 1233333|2014-07-04T11:12:15.854+02:00:00|Name3 | rt85..| 1111222|2014-07-07T21:55:52.854+02:00:00|Name2 +——-+——–+——————————–+—– 如果数字相同,则每次都是相同的名称。 例如,编号1234567始终是名称1。 我想过滤我的表,我只有最新的数字,没有重复 所以结果应该是: +—–+———-+——————————–+—– | guid | number| datetime | name +—–+———-+——————————–+—— | b105..| 1234567|2014-07-07T16:32:20.854+02:00:00|Name1 | f205..| […]

entity framework使用一次性上下文返回旧数据

这是我第一次看到这个问题。 考虑我的存储库方法: public async Task<List> GetAllByType(string type) { using (var ctx = new DatabaseContext()) { return await ctx.Codes.Where(code => code.Type.Equals(type)).ToListAsync(); } } 这是我在尝试为我的视图创建可观察集合时偶然发现的问题,该集合是根据上述方法的结果创建的。 如此: Types = new ObservableCollection(await CodeRepository.GetAllByType(“TestType”)); 即使我使用的是一次性上下文,每次进行查询时,存储库都会返回旧数据。 我已经手动编辑了一些以”TestType”作为列值的条目,它仍然是未更改的旧数据。 我添加了3个新条目, 找不到 。 是的, 我确实在数据库中有条目 。 数据库不区分大小写,我尝试了所有组合,无论我做什么 – entity framework上下文仍然返回旧数据。 以前有人有这个问题吗? 提前致谢!

c#数据表查询不存在连接

我对C#LINQ查询感到困惑。 我有一个包含值的表,如下所示 DataTable tableold = new DataTable(); tableold.Columns.Add(“Dosage”, typeof(int)); tableold.Columns.Add(“Drug”, typeof(string)); tableold.Columns.Add(“Patient”, typeof(string)); tableold.Columns.Add(“Date”, typeof(DateTime)); // Here we add five DataRows. tableold.Rows.Add(25, “Indocin”, “David”, DateTime.Now); tableold.Rows.Add(50, “Enebrel”, “Sam”, DateTime.Now); tableold.Rows.Add(10, “Hydralazine”, “Christoff”, DateTime.Now); tableold.Rows.Add(21, “Combivent”, “Janet”, DateTime.Now); tableold.Rows.Add(100, “Dilantin”, “Melanie”, DateTime.Now); 现在我有另一张桌子 DataTable tableNew = new DataTable(); tableNew.Columns.Add(“Dosage”, typeof(int)); // Here we add five DataRows. […]

LINQ包含子项值的错误

我有这个问题: var allValues = from p in _pContext.Persons where p.Id == currentPerson.Id from i in p.Items //This is a list that contains “Items” select i; 我想拥有它们包含的所有项目和所有嵌套值。 如何在执行此查询时加载这些? 我知道我可以在上下文中使用include语句,但这并不能引导任何地方。 如果我这样做: var allValues = from p in _pContext.Persons.Include(“Items.Properties”) where p.Id == currentPerson.Id from i in p.Items //This is a list that contains “Items” select i; 要获取所有加载了相关“属性”的项目,这些属性不会被加载,它们的列表是实例化的,但它不包含任何内容。

无法将LINQ绑定到gridview

我只是使用一个简单的LINQ查询,该查询具有group by子句并尝试将其结果集绑定到GridView。 我的LINQ查询看起来像 var expData = from c in WebDB.TransTable group c by c.enterdate into g select g; ASP.NET页面上的网格视图 但得到错误: 在所选数据源上找不到名为“Key”的字段或属性。 有人可以帮我吗? 没有一个答案是有帮助的

TagCloud大小问题

我正在使用代码根据百分比值显示标签云。 第一次将标记添加到我的数据库时,它看起来很大,然后相对于其他标记缩小(添加的次数越多)。 这是代码: private void BindTagCloud() { int pro_id = Convert.ToInt32(proj_id); int iteration_id = Convert.ToInt32(iteration); var tagSummaryNegative = from af in db.AgileFactors join psf in db.ProjectStoryFactors on af.AgileFactorID equals psf.AgileFactorID join s in db.Stories on psf.StoryID equals s.StoryID join pim in db.ProjectIterationMembers on s.ProjectIterationMemberID equals pim.ProjectIterationMemberID join it in db.Iterations on pim.ProjectIterationID equals it.ProjectIterationID join […]

如何让用户选择如何使用变量对其列表进行排序?

用户输入的信息可以按升序和降序的多种方式排序,我试图让用户选择他想要查看数据的方式: 那么有没有办法设置一个变量,用户输入和排序数据,而不是多次重复代码,具体取决于输入,如: var empName = el.Select(i => new { i.ID, i.FullName }); if(emsort.Text=”text1″) empName.OrderBy(i.text1); else if… 通过做一些更短的事情: string sort=emsort.Text ; empName.OrderBy(sort);

Linq不包含’Where’的定义

我正在尝试通过if语句调整我的查询,如下所示: IQueryable articles = null; if (User.IsInRole(“Admin”)) { articles = from s in db.Articles select s; } if (User.IsInRole(“Educator”)) { articles = from s in db.Articles where s.createdBy == WebSecurity.CurrentUserName select s; } 这似乎没有给我任何错误。 但是,当我尝试使用where子句进行更多过滤时,它无法识别该术语。 我理解IQuerable不支持它,但有没有办法将“articles”设置为null,然后用if语句设置它? if (!String.IsNullOrEmpty(searchString)) { articles = articles.Where(s => s.title.ToUpper().Contains(searchString.ToUpper()) || s.content.ToUpper().Contains(searchString.ToUpper())); } switch (sortOrder) { case “name_desc”: articles = articles.OrderByDescending(s […]

带有C#的MongoDB – 使用动态生成的谓词进行查询

我无法使用动态生成的谓词查询MongoDB数据库。 我试图查询的文档结构是: { “_id” : 3121 , “Active” : true , “CategoryId” : 1 , “Crci” : “IH” , “CultureId” : null , “DateUpdated” : { “$date” : 1381916923120 } , “Description” : “National Careers Service: Actuary” , “Keywords” : “” , “MaxLevel” : null , “MinLevel” : null , “PhoneNumber” : ” ” , […]