小编Ari*_*ion的帖子

如何使用linq to sql一次更新多行?

表:

id     userid  friendid   name    status
1      1        2         venkat  false
2      1        3         sai     true
3      1        4         arun    false
4      1        5         arjun   false
Run Code Online (Sandbox Code Playgroud)

如果用户发送userid = 1,则friendids = 2,4,5 status = true

请告诉我如何更新以上所有friendids状态的查询是真的.[2,3,4一次].?

谢谢

c# linq entity-framework linq-to-sql

89
推荐指数
3
解决办法
14万
查看次数

Linq:如何获得倒数第二名

所以我有一个字符串列表,如下所示:

var ls=new List<string>()
    {
        "100",
        "101-102-1002",
        "105-153-1532-1532",
        "105-1854-45-198",
        "180-95-45-200"
    };
Run Code Online (Sandbox Code Playgroud)

我想得到分裂字符串的倒数第二个.所以我的输出看起来像这样:

null,
102,
1532,
45,
45
Run Code Online (Sandbox Code Playgroud)

我有一个解决方案,看起来像这样:

ls.Select (l =>l.Split('-').Select ((s,i) =>new {s,i})
.OrderByDescending (x=>x.i).Skip(1).Take(1))
Run Code Online (Sandbox Code Playgroud)

我认为这个解决方案对于这个简单的任务可能很复杂.所以我的问题是:你们有没有更简单的解决方案来解决这个问题?

c# linq linq-to-sql

27
推荐指数
5
解决办法
2万
查看次数

自动检查LINQ查询的NULL关系

我正在使用LINQ to SQL来处理我正在处理的应用程序的数据库查询.

出于这个例子的目的,假设我有一些像这样的表

- Company
- Product
- Item
- Order
Run Code Online (Sandbox Code Playgroud)

并且假设a Company有0或更多Products,a Product有0或更多Items,a Item有0或更多Orders.

现在让我这样获得一个列表Orders,例如:

IQueryable<Order> myOrders = GetMyOrders();
Run Code Online (Sandbox Code Playgroud)

现在让我说我想查询一个特定的订单Company.Name,但是有一个情况,每个表的父ID都可以NULL(我知道这对我的示例数据来说似乎不合逻辑,但它只是一个例子)

假设没有NULL父ID我可以这样做:

var filteredOrders = myOrders.Where(x => x.Item.Product.Company.Name == "Company1");
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作,因为可能有NULL父ID值,我需要检查每个父对象以确保它不是null在查询下一个父对象之前(否则我将得到一个异常).所以我做了类似的事情:

var filteredOrders = myOrders.Where(x => 
    x.Item != null &&
    x.Item.Product != null &&
    x.Item.Product.Company != null &&
    x.Item.Product.Company.Name == "Company1");
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:除了必须包含所有空检查之外,还有更好的方法(在可读性和编码的简易性方面)吗?在此过程中发现的任何空父项都应导致从结果列表中排除.

请不要阻止空父母的建议,数据库不会改变(无论如何都是完全有效的)

c# linq linq-to-sql

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

计算linq中两个数组中相同元素的数量

我有2个字符串数组:

A1: {"aa","bb","cc","dd","ee"}
A2: {"cc","dd,"ee","bla","blu"}
Run Code Online (Sandbox Code Playgroud)

我如何计算A1和之间相同元素的数量A2(在这种情况下为3)?

c# linq arrays

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

属性定义中括号的含义是什么?

定义中属性名称周围的方括号是什么意思?

示例:

Public Property [Date] As String 
Run Code Online (Sandbox Code Playgroud)

vb.net

10
推荐指数
2
解决办法
2722
查看次数

在LEFT JOIN和WHERE中计算

我有一个左连接的问题,我想要一个设计列表,在每个设计上我想显示每个设计有多少注释.

我正在使用LEFT JOIN

SELECT ds.*, count(com.comment) AS countcom FROM tdic_designs ds 
LEFT JOIN tdic_comments com ON (com.design_id = ds.id) 
WHERE ds.approved = 1 AND ds.hidden = 0 AND com.approved = 1 
GROUP BY ds.id 
ORDER BY ds.date_added ASC
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为它只显示一个有1个评论的设计,但我在表中有两个设计,其中第二个设计没有评论.

如果我将SQL更改为

SELECT ds.*, count(com.comment) AS countcom FROM tdic_designs ds 
LEFT JOIN tdic_comments com ON (com.design_id = ds.id) 
GROUP BY ds.id, com.approved, ds.approved 
ORDER BY ds.date_added ASC
Run Code Online (Sandbox Code Playgroud)

那就是删除WHERE子句.但这很糟糕,因为它会选择尚未批准的设计和评论.

我错过了什么/做错了什么?

sql select group-by left-join

8
推荐指数
2
解决办法
3万
查看次数

如何在C#.Net 4.0中重启线程?

我在VS 2010中使用C#.Net4.0.如何重新启动Thread

它就像我想要Abort()的线程和Start()它从一开始?可能吗?

c# multithreading .net-4.0

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

CultureInfo.CurrentCulture从哪里读取文化

我想知道从哪里System.Globalization.CultureInfo.CurrentCulture读取其值的设置或位置 .

我正在使用Windows 7笔记本电脑,并已将我的系统的区域和日期时间设置更改为美国.

我在下面的web.config设置下使用了我的代码

<globalization culture="en-US" />
Run Code Online (Sandbox Code Playgroud)

谢谢

asp.net globalization

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

如何在MySQL工作台中创建和执行程序

我在MySQL工作台中使用SQL编辑器创建了一个Spatial表.要填写此表,以下是我正在使用的代码.

CREATE PROCEDURE fill_points( 
IN size INT(10) 
) 
BEGIN 
DECLARE i DOUBLE(10,1) DEFAULT size; 

DECLARE lon FLOAT(7,4); 
DECLARE lat FLOAT(6,4); 
DECLARE position VARCHAR(100); 

-- Deleting all. 
DELETE FROM Points; 

WHILE i > 0 DO 
SET lon = RAND() * 360 - 180; 
SET lat = RAND() * 180 - 90; 

SET position = CONCAT( 'POINT(', lon, ' ', lat, ')' ); 

INSERT INTO Points(name, location) VALUES ( CONCAT('name_', i), GeomFromText(position) ); 

SET i = i - 1; 
END WHILE; 
END …
Run Code Online (Sandbox Code Playgroud)

mysql mysql-error-1064

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

linq/lambda查询中的双内连接?

我得到了这个我想要转换为Linq的SQL查询.这是一个问题:

我正在制作一个需要从3个不同的表中返回值的asp.net api

CREATE TABLE Locatie (
   locatieId            INT IDENTITY(1,1)    not null,
   postcode             VARCHAR(10)          not null,
   huisnummer           INT                  not null,
   adres                VARCHAR(50)          not null,
   plaats               VARCHAR(50)          not null,




CREATE TABLE Vereniging (
   verenigingId         INT IDENTITY(1,1)    not null,
   locatieId            INT                  not null,
   naam                 VARCHAR(50)          not null,
   facebookGroupId      BIGINT               null,


CREATE TABLE Saldo (
   saldoId              INT IDENTITY(1,1)    not null,
   lidId                INT                  not null,
   verenigingId         INT                  not null,
   bedrag               SMALLMONEY           not null,
Run Code Online (Sandbox Code Playgroud)

我遗漏了所有的外国钥匙和小学生.这只是为了澄清我想要的东西.我的问题是,我有一个需要从几个表返回信息的函数.sql查询看起来像这样=

Select v.verenigingId, l.postcode, l.huisnummer, l.adres,l.plaats,v.naam,v.facebookGroupId 
from Vereniging v inner join …
Run Code Online (Sandbox Code Playgroud)

c# mysql linq sql-server lambda

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