EFCoreは、いくつかのフィールドでテーブルを取得します

EFCoreは、いくつかのフィールドでテーブルを取得します

1.背景

前述のアプリケーションシナリオの後端を分離する、シート20は、いくつかのフィールドのテーブルを持っていますが、4つのだけのフィールドのフロントエンドを使用することができるように表の取得部に関連するフィールドの値。この記事では、3つの方法について説明します。

2.方法:LINQ

2.1 Selectメソッド

List<Emplayee> emplayeeList = GetEmplayeeList();            //获取员工信息列表
int[] empIds = emplayeeList.Select(a => a.Id).ToArray();    //获取员工编号数组

2.2使用するForEachメソッド

List<Emplayee> emplayeeList = GetEmplayeeList();  //获取员工信息列表
string empIds = "";
emplayeeList.ForEach(a => empIds += a.Id + ",");
empIds = empIds.TrimEnd(',');
Console.WriteLine(empIds);   //输出:1,2,3

2.3他の参照コード

/// <summary>  
/// 员工信息类  
/// </summary>  
public class Emplayee
{
    /// <summary>
    /// 编号
    /// </summary>
    public int Id { get; set; }
 
    /// <summary>  
    /// 姓名  
    /// </summary>  
    public string Name { get; set; }

/// <summary>  
/// 获取员工信息列表  
/// </summary>  
/// <returns></returns>  
public static List<Emplayee> GetEmplayeeList()
{
    List<Emplayee> emplayeeList = new List<Emplayee>();
    Emplayee emplayee1 = new Emplayee() { Id = 1, Name = "张三" };
    Emplayee emplayee2 = new Emplayee() { Id = 2, Name = "李四" };
    Emplayee emplayee3 = new Emplayee() { Id = 3, Name = "王五" };
    emplayeeList.Add(emplayee1);
    emplayeeList.Add(emplayee2);
    emplayeeList.Add(emplayee3);
    return emplayeeList;
}

3.アクトII:IQueryble

参考例3.1

私はニュースのリストを持っています

ID、タイトル、本文、CREATETIME、著者、クリックしてください

唯一のID、タイトル、CREATETIME、ページ上に表示を読みef4.1使用してください。

 public static List<NewInfo> GetHotNews()
        {
            List<NewInfo> list;
            list = (from n in db.NewInfoes
                    where n.IsTop == 1
                    orderby n.PublishTime descending
                    select new
                    {
                        Title = n.Title,
                        NewID = n.NewID,
                        PublishTime = n.PublishTime
                    }).ToList();
            return list;
        }
改为
public static List<NewInfo> GetHotNews()
        {
            List<NewInfo> list;
            list = (from n in db.NewInfoes
                    where n.IsTop == 1
                    orderby n.PublishTime descending
                   
       .Select(n => new NewInfo
                    {
                        Title = n.Title,
                        NewID = n.NewID,
                        PublishTime = n.PublishTime
                    });
            return list;
        }

注意:ただのIEnumerableは、すべてのデータ・メモリのスクリーニングを引っ張っている、のIQueryableは、ライブラリリターンで直接SQLクエリを形成することになります

3.2参考例2

4.法III:オブジェクトを作成し、automapperを設定し、クエリの結果は、その後、最大一致しています

自分で試すことができ、特定の

参考:
1.ログインKawhi(1585955375)、ジュディス・アルトマントロイオストロフスキー(479 663 032)が
2.https://blog.csdn.net/lcnmdfx/article/details/8332401
3.https://ブログ。 csdn.net/pan_junbiao/article/details/51757904

おすすめ

転載: www.cnblogs.com/JerryMouseLi/p/11720244.html