我有两个表,movies并且categories,我首先按类别ID获取有序列表,然后按名称获取.
影片表有三列,ID,Name和CategoryID.类别表2包含列,ID和名称.
我尝试了类似下面的内容,但它没有用.
var movies = _db.Movies.OrderBy( m => { m.CategoryID, m.Name })
Run Code Online (Sandbox Code Playgroud) 我有两个列表列表,我需要组合并删除两个列表的重复值
有点难以解释,所以让我展示代码的样子,以及我想要的结果,在示例中我使用int类型而不是ResultAnalysisFileSql类.
first_list = [1,12,12,5]
second_list = [12,5,7,9,1]
组合这两个列表的结果应该产生这个列表:resul_list = [1,12,5,7,9]
你会注意到结果有第一个列表,包括它的两个"12"值,而在second_list中有一个额外的12,1和5值.
ResultAnalysisFileSql类
[Serializable]
public partial class ResultAnalysisFileSql
{
public string FileSql { get; set; }
public string PathFileSql { get; set; }
public List<ErrorAnalysisSql> Errors { get; set; }
public List<WarningAnalysisSql> Warnings{ get; set; }
public ResultAnalysisFileSql()
{
}
public ResultAnalysisFileSql(string fileSql)
{
if (string.IsNullOrEmpty(fileSql)
|| fileSql.Trim().Length == 0)
{
throw new ArgumentNullException("fileSql", "fileSql is null");
}
if (!fileSql.EndsWith(Utility.ExtensionFicherosErrorYWarning))
{
throw new ArgumentOutOfRangeException("fileSql", "Ruta de fichero Sql no tiene …Run Code Online (Sandbox Code Playgroud) 我在C#中使用linq,我有一个快速的问题。
我在这里展示了非常少量的代码,实时地还有一些排序操作。我想从下面知道我应该使用哪种方法?
方法1
public class UserDetails
{
private dbContext db = new dbContext();
public List<User> ActiveUser()
{
return db.Users.Where(m => m.Active == true).ToList();
}
public List<User> InActiveUser()
{
return db.Users.Where(m => m.Active == false).ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
方法2
public class UserDetails
{
List<Defect> allUser = new dbContext().Users.ToList();
public List<User> ActiveUser()
{
return allUser.Where(m => m.Active == true).ToList();
}
public List<User> InActiveUser()
{
return allUser.Where(m => m.Active == false).ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
有20多种方法正在获取数据,每种方法都是从具有不同where条件的同一张表中获取数据。我的问题是应该创建dbContext,然后在每个方法中使用单独的查询(方法1),还是应该创建一个List并获取所有数据,并使用where条件在方法本身中对其进行过滤。(方法2)
我在下面有两种方法,我想知道应该使用哪种方法?
方法1:使用重载
public Color GetColor(int? Id)
{
return db.Colors.Find(Id);
}
public Color GetColor(string Name)
{
return db.Colors.Where(m => m.Name == Name).FirstOrDefault();
}
Run Code Online (Sandbox Code Playgroud)
方法2:使用泛型
public Color GetColor<T>(T value)
{
var type = value.GetType();
if (type == typeof(Int32))
{
return db.Colors.Find(value); // Data fetched using Id
}
else if (type == typeof(string))
{
return db.Colors.Where(m => m.Name == value.ToString()).FirstOrDefault(); // Data fetched using name
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
以上两种方法都能达到预期的效果,我只想了解两者的优缺点,我应该选择哪一种?
c# ×3
linq ×2
database ×1
duplicates ×1
generics ×1
jquery ×1
list ×1
merge ×1
overloading ×1
performance ×1
sql-order-by ×1