2016-06-29 4 views
0

私は次のクエリを実行しますが、何らかの理由でカスタムクラスのプロパティを選択できません。カスタムプロパティを照会しないクエリ

これは、ここに私のクラスである:

public class PersonalDetails 
{ 
    public string LineType { get; set; } 
    public string EnquirerTitle { get; set; } 
    public string ForeName { get; set; } 
    public string Surname { get; set; } 
    public int Age { get; set; } 
    public DateTime Dob { get; set; } 
    public string MaritalStatus { get; set; } 
    public string HomePhone { get; set; } 
    public string MobilePhone { get; set; } 
    public string Email { get; set; } 
    public string Address { get; set; } 
    public string Employment { get; set; } 
    public string Occupation { get; set; } 


} 

そして、ここで私は私の最終目標は、私はcsvファイルを生成するために作成したCSV形式のselrilizerにこのオブジェクトを渡すことであるデータにアクセスするために、クエリを使用したいですカスタム形式で。

IQueryable<tblapertureNetAppointment> _personadetails; 
var personalDetails = from _appointments in _dal.apertureNetEntities.tblapertureNetAppointments 
.AsEnumerable() 
.Select(x => new PersonalDetails { x.LineType its not allowing me to find line type}) 
.ToList(); 
+0

あなたは違うのであるかもしれない、_persondetailsとpersonalDetailsの間でアップミキシングされていませんタイプ、そう? – Veverke

+0

問題が何であるか、それをどのように再現するかは不明です。 [MCVE]をご覧ください。 –

+0

2番目のコードブロックには、理解度式とLINQ拡張メソッドが混在しているように見えます。どちらか一方を使用してください。 – Richard

答えて

1

この方法を試してみてください -

var personalDetails = (from _appointments in _dal.apertureNetEntities.tblapertureNetAppointments.AsEnumerable() 
         select new PersonalDetails { 

         LineType = _appointments.LineType, 
         EnquirerTitle = _appointments.EnquirerTitle, 
         ForeName = _appointments.ForeName, 
         Surname = _appointments.Surname, 
         // ....... 
         }).ToList(); 

更新

あなたのLINQのオブジェクトからcsvファイルを書き込むことができLinqToCsvを使用します。 LinqToCsvはナゲットパッケージとして利用可能です。パッケージマネージャコンソールから

-

Install-Package LinqToCsv 

今、あなたはCSVファイルにこの方法をあなたのLINQのオブジェクトを書くことができます -

CsvFileDescription outputFileDescription = new CsvFileDescription 
{ 
    SeparatorChar = '\t', // tab delimited 
    FirstLineHasColumnNames = true, 
    FileCultureName = "nl-NL" // use formats used in The Netherlands 
}; 

CsvContext cc = new CsvContext(); 

string fileName = String.Format(@"{0}products2.csv", Server.MapPath("/csvFiles")); 
cc.Write(personalDetails,fileName,outputFileDescription); 
+0

いつも素敵な私たちの初心者は初心者を助けてくれます – rogue39nin

+0

linqはこの仕事を探して価値がありますか?そのカスタムクラスをCSVファイルに変換します – rogue39nin

関連する問題