NPOCO Oracle Server Insert выдает исключения

Так что я новичок в NPOCO и практически не имею опыта работы с Oracle! Но мне поручено создать метод, который записывает некоторые данные в таблицу! вот моя ситуация Я создал свою модель

[TableName("API_ANALYTICAL_DATA")]
[PrimaryKey("GID")]
public class ApiAnalyticalData 
{
    public ApiAnalyticalData() { }

    [Ignore]
    public string GID { get; set; }

    [Column("RESOURCE_UID"), ColumnType(typeof(OracleNumber))]
    public decimal ResourceID { get; set; }

    [Column("REQUEST_TIME"), ColumnType(typeof(OracleDateTime))]
    public string RequestDateTime { get; set; }

    [Column("COMPLETION_TIME"), ColumnType(typeof(OracleDateTime))]
    public string CompletionTime { get; set; }

    [Column("STATUS_CODE"), ColumnType(typeof(OracleNumber))]
    public decimal StatusCode { get; set; }

    [Column("STATUS_MESSAGE"), ColumnType(typeof(OracleString))]
    public string StatusMessage {get;set;}

    [Column("REMOTE_ADDRESS"), ColumnType(typeof(OracleString))]
    public string RemoteAddress { get; set; }

    [Column("REQUEST_URL"), ColumnType(typeof(OracleString))]
    public string RequestUrl { get; set; }

    [Column("REQUEST_METHOD"), ColumnType(typeof(OracleString))]
    public string RequestMethod { get; set; }

    [Column("RESPONSE_HEADERS"), ColumnType(typeof(OracleString))]
    public string ResponseHeaders { get; set; }

    [Column("REQUEST_HEADERS"), ColumnType(typeof(OracleLob))]
    public string RequestHeaders { get; set; }

    [Column("REQUESTOR_UUPIC"), ColumnType(typeof(OracleString))]
    public string RequstorID { get; set; }

    [Column("IS_RESOURCE_UID_FK_VALID"), ColumnType(typeof(OracleString))]
    public string IsResourceIdValid { get; set; }

    [Column("ERR_MESSAGE"), ColumnType(typeof(OracleLob))]
    public string ErrorMessage { get; set; }
}

У меня также есть настройка отображения данных

public class DataMappings : Mappings 
{
    public DataMappings()
    {
        For<ApiAnalyticalData>()
            .TableName("API_ANALYTICAL_DATA")
            .PrimaryKey("GID")
            .Columns(d => {
                d.Column(c => c.GID).Ignore();
                d.Column(c => c.ResourceID).WithName("RESOURCE_UID").WithDbType(typeof(OracleNumber));
                d.Column(c => c.RequestDateTime).WithName("REQUEST_TIME").WithDbType(typeof(OracleDateTime));
                d.Column(c => c.CompletionTime).WithName("COMPLETION_TIME").WithDbType(typeof(OracleDateTime));
                d.Column(c => c.StatusCode).WithName("STATUS_CODE").WithDbType(typeof(OracleNumber));
                d.Column(c => c.StatusMessage).WithName("STATUS_MESSAGE").WithDbType(typeof(OracleString));
                d.Column(c => c.RemoteAddress).WithName("REMOTE_ADDRESS").WithDbType(typeof(OracleString));
                d.Column(c => c.RequestUrl).WithName("REQUEST_URL").WithDbType(typeof(OracleString));
                d.Column(c => c.RequestMethod).WithName("REQUEST_METHOD").WithDbType(typeof(OracleString));
                d.Column(c => c.ResponseHeaders).WithName("RESPONSE_HEADERS").WithDbType(typeof(OracleString));
                d.Column(c => c.RequestHeaders).WithName("REQUEST_HEADERS").WithDbType(typeof(OracleLob));
                d.Column(c => c.RequstorID).WithName("REQUESTOR_UUPIC").WithDbType(typeof(OracleString));
                d.Column(c => c.IsResourceIdValid).WithName("IS_RESOURCE_UID_FK_VALID").WithDbType(typeof(OracleString));
                d.Column(c => c.ErrorMessage).WithName("ERR_MESSAGE").WithDbType(typeof(OracleLob));
        });
    }
}

И моя БД заводская

 public static class DBFactory
{
    public static DatabaseFactory Databasefactory { get; set; }
    public static void Setup(string DBConnnectionString)
    {
        var dbConfig = FluentMappingConfiguration.Configure(new DataMappings()); 
        Databasefactory = DatabaseFactory.Config( x => {
            x.UsingDatabase( () => new Database(DBConnnectionString)); 
            x.WithFluentConfig(dbConfig); 
            x.WithMapper( new Mapper()); 
        });
    }
}

Поэтому я вызываю этот метод настройки при запуске приложения

protected void Application_Start()
{
      DBFactory.Setup("uptmstora");
}

И это метод, который будет вставлять данные

public T PostData<T>(T model)
        {  

            dbContext.Insert<T>(model);
            return model;
        }

и это называется так

 var DataModel = JsonConvert.DeserializeObject<ApiAnalyticalData>(json);
 PostData(DataModel)

Все это прекрасно работает, пока я не получу dbContext.Insert(модель); Я получаю исключение, Oracal.DataAccess.Client.OracleException с сообщением об исключении "ORA-00932: несовместимые типы данных: ожидается, что NUMBER получил BINARY"

Я много раз проверял данные, и все выглядит хорошо, не уверен, что еще делать с этим на данный момент. Поэтому я предполагаю, что вопрос в том, есть ли у кого-нибудь опыт работы с NPOCO и сохранения данных в oracle, я имею в виду, что я пробовал с Mapper и без него, и я получаю ту же ошибку. Вот пример JSON, который десериализован в моей модели:

{
  "ResourceID": 54469,
  "RequestDateTime": "31-AUG-15",
  "CompletionTime": "1-SEP-15",
  "StatusCode": 200,
  "ErrorMessage": "",
  "StatusMessage": "Success",
  "RemoteAddress": "192.1.1.2",
  "RequestUrl": "http://www.somewebservice.com/",
  "RequestMethod": "SomeMethod",
  "ResponseHeaders": "Success 200",
  "RequestHeaders": "GET",
  "RequstorID": "1000",
  "IsResourceIdValid": "Y"
}

РЕДАКТИРОВАТЬ: Вот таблица в соответствии с просьбой

0 ответов

Другие вопросы по тегам