简体   繁体   中英

Entity Framework to List without specific Column

I'm actually using EF and very new to it. I have a EDMX-Model from Database. I have to get a List of Entities, but in this Table is Binary-Column. I want my Object-List from that Table without the Binary Data.

My Entity-Objekt looks like:

public partial class bons
{
    public int id { get; set; }
    public System.DateTime zeitstempel { get; set; }
    public byte[] bonBinaer { get; set; }
    public Nullable<int> tisch_nr { get; set; }
    public bool abgearbeitet { get; set; }
    public int kunde_id { get; set; }
    public string hash { get; set; }
    public string dateiname { get; set; }
    public string tisch_name { get; set; }
    public int gang { get; set; }
    public decimal brutto { get; set; }
    public Nullable<System.DateTime> zeitstempelAbgearbeitet { get; set; }
    public Nullable<int> positionenAnzahl { get; set; }
    public bool manuell { get; set; }
}

And I#m getting the List like:

internal static List<bons> holeBongListeNichtAbgearbeitetRestaurant(int kunde_id)
{
    List<bons> rückgabe = new List<bons>();
    using (bonsEntities context = new bonsEntities())
    {
        rückgabe = context.bons.Where(x => x.kunde_id == kunde_id && x.abgearbeitet == false).OrderBy(x => x.zeitstempel).ToList();
    }
    return rückgabe;
}

Can someone help how to get the List without the 'byte[] bonBinaer'?

Hi you can use autoMapper with EF extension

like: https://docs.automapper.org/en/stable/Queryable-Extensions.html

or if you prefer you can do by yourself with a Select() method like:

    using (bonsEntities context = new bonsEntities())
            {
               rückgabe = context.bons.Where(x => x.kunde_id == kunde_id && x.abgearbeitet == false).OrderBy(x => x.zeitstempel).Select(xx=> new {
     id = xx.id
     //and all you props
     }).ToList().Select(yy=> new bons{
     id=yy.id
 //and back with other props
     }).ToList();


        }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM