簡體   English   中英

將列表轉換為逗號分隔的MySQL插入語句

[英]Convert List To Comma Separated MySQL Insert Statements

我有以下兩個班級;

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,Name,Enabled),(ModelId,Name,Enabled),(ModelId,Name,Enabled)等

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

這將為您提供FalseTrue作為Enabled值的字符串。 如果您想要EnabledDisabled ,請使用: m.Enabled ? "Enabled" : "Disabled" 格式化模型字符串時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,NAME1假),(2,NAME2真),(3,NAME3,假)

試試這個:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM