【发布时间】:2016-07-11 18:53:09
【问题描述】:
尝试解决这个问题:Attempting to use OOPFactory to parse 271 benefits using EligibilityBenefitDocument
这一次,我没有尝试直接使用对象,而是尝试使用库的不同部分将存在的内容写入 sql。
我正在尝试执行 OOPFactory.X12.ImportX12 类。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using OopFactory.X12.Parsing;
using OopFactory.X12.Repositories;
using OopFactory.X12.Sql;
using System.IO;
using System.Diagnostics;
namespace OopFactory.X12.ImportX12
{
class Program
{
enum testc { incrementme };
static void Main(string[] args)
{
string dsn = ConfigurationManager.ConnectionStrings["X12"].ConnectionString;
bool throwExceptionOnSyntaxErrors = ConfigurationManager.AppSettings["ThrowExceptionOnSyntaxErrors"] == "true";
string[] segments = ConfigurationManager.AppSettings["IndexedSegments"].Split(',');
string parseDirectory = ConfigurationManager.AppSettings["ParseDirectory"];
string parseSearchPattern = ConfigurationManager.AppSettings["ParseSearchPattern"];
string archiveDirectory = ConfigurationManager.AppSettings["ArchiveDirectory"];
string failureDirectory = ConfigurationManager.AppSettings["FailureDirectory"];
string sqlDateType = ConfigurationManager.AppSettings["SqlDateType"];
int segmentBatchSize = Convert.ToInt32(ConfigurationManager.AppSettings["SqlSegmentBatchSize"]);
var specFinder = new SpecificationFinder();
var parser = new X12Parser(throwExceptionOnSyntaxErrors);
parser.ParserWarning += new X12Parser.X12ParserWarningEventHandler(parser_ParserWarning);
var repo = new SqlTransactionRepository<int>(dsn, specFinder, segments, ConfigurationManager.AppSettings["schema"], ConfigurationManager.AppSettings["containerSchema"], segmentBatchSize, sqlDateType);
//var repo = new OopFactory.X12.Sql.SqlTransactionRepository(dsn,"test");
//var repo = new OopFactory.X12.Sql.SqlTransactionRepository(dsn,new testc());
开箱即用,我收到错误“OopFactory.X12.Repositories.SqlTransationRepository”已过时:“使用 OopFactory.X12.Sql 库和命名空间”
为了对此做出回应,我在顶部添加了一个 using 子句以导入该命名空间并尝试直接调用该方法(如我对 repo 变量的注释调用中所见)。
- 当我尝试将其转换为字符串时,它告诉我“'OopFactory.X12.Sql.SqlTransactionRepository....' 的最佳重载方法匹配有一些无效参数
- 当我尝试传入一个枚举实例时,我也得到了这一点。
我的问题是:如何调用需要 System.Type 参数的方法?
如果你能告诉我他们实际期望传递到 SqlTransactionRepository 的方法签名中的内容,我一定会投票赞成前几个可以正确 t 点的响应
public SqlTransactionRepository(string dsn, Type identityType)
: this(dsn, new SpecificationFinder(), new[] { "REF", "NM1", "N1", "N3", "N4", "DMG", "PER" }, identityType, "dbo")
{
}
【问题讨论】:
-
您可能只是有一个错字,请注意您的错误消息中的
SqlTransationRepository拼写错误,让我相信这可能是一个错字。