2013-08-05 2 views
3

다음 두 클래스가 있습니다.목록을 쉼표로 구분 된 MySQL 삽입 문으로 변환

public class CarModels 
{ 
    public List<Model> Model{ get; set; } 

    public CarModels() 
    { 
     Model = new List<Model>(); 
    } 
} 

public class Model 
{ 
    public int ModelId { get; set; } 
    public string Name { get; set; } 
    public bool Enabled{ get; set; } 
} 

어떻게

같은 형식 (ModelId, 이름, 사용), (ModelId, 이름, 사용), (사용 ModelId, 이름,) 등으로 데이터를 추출 할 수 있습니다

+0

'string.Join' 메소드 사용법을 검색하십시오. – MethodMan

+0

데이터 영역을 직접 작성 하시겠습니까? – Stijn

+0

예 Stijn, 있습니다. – Tommassiov

답변

4
String.Join(",", models.Select(m => String.Format("({0},{1},{2})", m.ModelId, m.Name, m.Enabled))); 

그러면 FalseTrue 문자열에 사용 값이 표시됩니다. EnabledDisabled을 대신 사용하려면 모델 문자열을 형식화 할 때 m.Enabled ? "Enabled" : "Disabled"을 사용하십시오.


전체 샘플 (NBuilder와 샘플 모델을 만드는 데 사용) :

IEnumerable<Model> models = Builder<Model>.CreateListOfSize(3).Build(); 
Func<Model, string> formatModel = 
    m => String.Format("({0},{1},{2})", m.ModelId, m.Name, m.Enabled); 
string result = String.Join(",", models.Select(formatModel)); 

출력 :

(1, 거짓 이름 1), (2, NAME2, 참), (3, NAME3, 거짓)

0

이 시도 :

,536,
var models = carModels.Model.Aggregate<Model, string>("", (s, m) => 
{ 
    return s + String.Format(",({0},{1},{2})", m.ModelId, m.Name, m.Enabled); 
}).Substring(1); 
관련 문제