本文整理汇总了C#中CsvConfiguration.RegisterClassMap方法的典型用法代码示例。如果您正苦于以下问题:C# CsvConfiguration.RegisterClassMap方法的具体用法?C# CsvConfiguration.RegisterClassMap怎么用?C# CsvConfiguration.RegisterClassMap使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CsvConfiguration
的用法示例。
在下文中一共展示了CsvConfiguration.RegisterClassMap方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Read
public Fact[] Read(string message)
{
var csvConfig = new CsvConfiguration
{
Delimiter = "|",
Encoding = Encoding.UTF8,
HasHeaderRecord = true,
};
csvConfig.RegisterClassMap<FactMap>();
csvConfig.CultureInfo = CultureInfo.InvariantCulture;
using (var reader = new StringReader(message))
using (var parser = new CsvHelper.CsvReader(reader, csvConfig))
{
return parser.GetRecords<Fact>().ToArray();
}
}
示例2: Build
/// <summary>
/// Builds a task to load the currency dimension.
/// </summary>
/// <returns>A task for loading the currency dimension.</returns>
public ITask Build()
{
using (var builder = new SimpleDataflowBuilder<Currency>())
{
var currencyFile = Path.Combine(Program.Options.SourcePath, "currency.csv");
var csvConfiguration = new CsvConfiguration { HasHeaderRecord = false, Delimiter = "\t" };
csvConfiguration.RegisterClassMap<CurrencyFileMap>();
return builder
.CsvSource(currencyFile, csvConfiguration)
.BulkLoad(
"dbo.DimCurrency",
this.targetFactory,
new Dictionary<string, string>()
{
{ "AlternateKey", "CurrencyAlternateKey" },
{ "Name", "CurrencyName" }
})
.Build("Load currency dimension");
}
}
示例3: BuildProductTask
/// <summary>
/// Builds the product loader tasks.
/// </summary>
/// <returns>A task used to load the product subcategory table.</returns>
private ITask BuildProductTask()
{
using (var builder = new SimpleDataflowBuilder<Product>())
{
var productFile = Path.Combine(Program.Options.SourcePath, "Product.csv");
var csvConfiguration = new CsvConfiguration { HasHeaderRecord = false, Delimiter = "\t" };
csvConfiguration.RegisterClassMap<ProductFileMap>();
return builder
.CsvSource(productFile, csvConfiguration)
.Map(x =>
{
x.ProductSubcategoryKey =
this.productSubcategoryMapper.Map(
x.ProductSubcategoryAlternateKey.ToString(CultureInfo.CurrentCulture));
return x;
})
.BulkLoad(
"dbo.DimProduct",
this.targetFactory,
new Dictionary<string, string>()
{
{ "ProductSubcategoryKey", "ProductSubcategoryKey" },
{ "AlternateKey", "ProductAlternateKey" },
{ "Name", "EnglishProductName" },
})
.Build("Load product dimension");
}
}
示例4: BuildProductCategoryTask
/// <summary>
/// Builds the product category loader tasks.
/// </summary>
/// <returns>A task used to load the product category table.</returns>
private ITask BuildProductCategoryTask()
{
using (var builder = new SimpleDataflowBuilder<ProductCategory>())
{
var categoryFile = Path.Combine(Program.Options.SourcePath, "ProductCategory.csv");
var csvConfiguration = new CsvConfiguration { HasHeaderRecord = false, Delimiter = "\t" };
csvConfiguration.RegisterClassMap<ProductCategoryFileMap>();
return builder
.CsvSource(categoryFile, csvConfiguration)
.BulkLoad(
"dbo.DimProductCategory",
this.targetFactory,
new Dictionary<string, string>()
{
{ "AlternateKey", "ProductCategoryAlternateKey" },
{ "Name", "EnglishProductCategoryName" },
{ "SpanishName", "SpanishProductCategoryName" },
{ "FrenchName", "FrenchProductCategoryName" }
})
.Build("Load product category dimension");
}
}
示例5: ExtraireRaws
// Import des raws
private ICollection<OperationRawSG> ExtraireRaws(StreamReader streamReader, IList<string> _erreurs)
{
/* A new configuration instance that you can change at will */
CsvConfiguration config = new CsvConfiguration();
config.Delimiter = ";";
config.RegisterClassMap<SGOperationRawMapClass>();
/* Give it to your CsvReader */
CsvReader csvReader = new CsvReader(streamReader, config);
IEnumerable<OperationRawSG> _raws = new List<OperationRawSG>();
try
{
_raws = csvReader.GetRecords<OperationRawSG>().Reverse().ToList();
foreach (var item in _raws)
{
item.Etat = EtatOperationRaw.CREEE;
item.Libelle = this.Egaliser(item.Libelle);
item.Detail = this.Egaliser(item.Detail);
}
}
catch (Exception e)
{
var message = "Les écritures du fichier importé ne semblent pas correctement formattées. Etês-vous certain de charger un fichier Société générale ?";
_erreurs.Add(message);
var message2 = e.Message;
_erreurs.Add(message2);
}
// return
return _raws.ToList();
}
示例6: OnCommandExportContent
private void OnCommandExportContent(object sender, EventArgs e) {
// Export to CSV
IDataMigrationView view = base._view as IDataMigrationView;
IDataMigrationModel model = base._model as IDataMigrationModel;
PresenterBase.SetModelPropertiesFromView<IDataMigrationModel, IDataMigrationView>(
ref model, view
);
IMainPresenter presenter = SimpleResolver.Instance.Get<IMainPresenter>();
try {
if (SyncContext != null) {
SyncContext.Post(delegate {
presenter.EnableControl(false);
presenter.ActivateSpinner(true);
presenter.UpdateProgressInfo("Preparing Report...");
}, null);
}
FileInfo fileInfo = new FileInfo(model.OutputFileName);
if (Directory.Exists(fileInfo.DirectoryName)) {
Thread writeReport = new Thread(() => {
CsvConfiguration config = new CsvConfiguration() {
HasHeaderRecord = true,
Delimiter = ",",
Encoding = System.Text.Encoding.UTF8
};
config.RegisterClassMap(new DataMigrationHeaderMap());
int total = model.Contents.Count;
using (CsvWriter writer = new CsvWriter(new StreamWriter(model.OutputFileName), config)) {
writer.WriteHeader<DataMigrationHeaderRecord>();
for (int i = 0; i < model.Contents.Count; i++) {
ContentDisplayListViewItemModel lvItem = model.Contents[i];
writer.WriteField<string>(!string.IsNullOrEmpty(lvItem.OwnerName) ? lvItem.OwnerName : "");
writer.WriteField<string>(lvItem.Email);
writer.WriteField<string>(lvItem.ItemPathDisplay);
writer.WriteField<string>(!string.IsNullOrEmpty(lvItem.ItemPathId) ? lvItem.ItemPathId : "");
writer.WriteField<string>(lvItem.ItemName);
writer.WriteField<string>(!string.IsNullOrEmpty(lvItem.ItemId) ? lvItem.ItemId : "");
writer.WriteField<string>(lvItem.ItemType);
writer.WriteField<string>(!string.IsNullOrEmpty(lvItem.ItemSize) ? lvItem.ItemSize : "");
writer.WriteField<string>(!string.IsNullOrEmpty(lvItem.Created) ? lvItem.Created : "");
writer.WriteField<string>(!string.IsNullOrEmpty(lvItem.LastModified) ? lvItem.LastModified : "");
writer.WriteField<string>(!string.IsNullOrEmpty(lvItem.Uploaded) ? lvItem.Uploaded : "");
writer.NextRecord();
if (SyncContext != null) {
SyncContext.Post(delegate {
presenter.UpdateProgressInfo(string.Format("Writing Record: {0}/{1}", (i + 1), total));
}, null);
}
}
}
if (SyncContext != null) {
SyncContext.Post(delegate {
presenter.EnableControl(true);
presenter.ActivateSpinner(false);
presenter.UpdateProgressInfo("Completed");
}, null);
}
});
writeReport.Start();
} else {
throw new InvalidDataException(ErrorMessages.INVALID_EXPORT_FOLDER);
}
} catch (Exception ex) {
if (SyncContext != null) {
SyncContext.Post(delegate {
presenter.EnableControl(true);
presenter.ActivateSpinner(false);
presenter.UpdateProgressInfo("Completed with exception: " + ex.Message);
}, null);
}
}
}