lx
2025-07-02 3472cc3c29841c6ede8a0a51b9a78b2bcd7a3c42
create
已修改1个文件
已添加42个文件
已删除7个文件
已重命名1个文件
2479 ■■■■ 文件已修改
ErrorAnalysis.Repository/COFarResultRepository.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/COFarWOLRepository.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/COModelRepository.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/CONearResultRepository.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/CONearWOLRepository.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/COWOLRepository.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/CCOCASIRTable.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/COFarCASIRTable.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/COFarResultTable.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/COFarSICARTable.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/COFarWOLTable.cs 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/COLongResultTable.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/COModelTable.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/CONearCASIRTable.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/CONearResultTable.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/CONearSICARTable.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/CONearWOLTable.cs 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/COSICARTable.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/COWOLTable.cs 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/GasfarResultTable.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/GaslongResultTable.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/GasmodelTable.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/GasnearResultTable.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/Gasrcaptable.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/Gasrintable.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/RetMcnpDbContext.cs 975 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/SigfarResultTable.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/SiglongResultTable.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/SigmodelTable.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/SignearResultTable.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/Entity/Sigwoltable.cs 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/ErrorAnalysis.Repository.csproj 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/RepositoryBase.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Service/COMergeCalcService.cs 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Service/ErrorAnalysis.Service.csproj 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Service/ErrorRatioCalc.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Service/Model/ErrorRatioModel.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Service/PDEVCalcService.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.UI/ErrorAnalysis.UI.csproj 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.UI/Form1.Designer.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.UI/Form1.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.UI/Form1.resx 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.UI/Program.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.sln 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis/App.config 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis/ErrorAnalysis.csproj 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis/Program.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis/Properties/Resources.Designer.cs 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis/Properties/Settings.Designer.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis/Properties/Settings.settings 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ErrorAnalysis.Repository/COFarResultRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
using ErrorAnalysis.Repository.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ErrorAnalysis.Repository
{
    public class COFarResultRepository : RepositoryBase
    {
        public COFarResultRepository(string connectionString) : base(connectionString) { }
        public COFarResultTable GetCOFarResult(string modelId, int porosity, int sw)
        {
            using (var context = new RetMcnpDbContext(_connectionString))
            {
                var result = context.COFarResultTables.FirstOrDefault(x => x.ModelID == modelId && x.Porosity == porosity && x.Sw == sw);
                return result;
            }
        }
    }
}
ErrorAnalysis.Repository/COFarWOLRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
using ErrorAnalysis.Repository.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ErrorAnalysis.Repository
{
    public class COFarWOLRepository : RepositoryBase
    {
        public COFarWOLRepository(string connectionString) : base(connectionString) { }
        public COFarWOLTable GetCOFarWOL(string modelId, int sw)
        {
            using (var context = new RetMcnpDbContext(_connectionString))
            {
                var result = context.COFarWOLTables.FirstOrDefault(x => x.ModelID == modelId && x.Sw == sw);
                return result;
            }
        }
    }
}
ErrorAnalysis.Repository/COModelRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
using ErrorAnalysis.Repository.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ErrorAnalysis.Repository
{
    public class COModelRepository : RepositoryBase
    {
        public COModelRepository(string connectionString) : base(connectionString) { }
        public List<COModelTable> GetCOModels()
        {
            using (var context = new RetMcnpDbContext(_connectionString))
            {
                return context.COModelTables.ToList().OrderBy(c => c.BIT).OrderBy(c => c.CasingOD).ToList();
            }
        }
    }
}
ErrorAnalysis.Repository/CONearResultRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
using ErrorAnalysis.Repository.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ErrorAnalysis.Repository
{
    public class CONearResultRepository : RepositoryBase
    {
        public CONearResultRepository(string connectionString) : base(connectionString) { }
        public CONearResultTable GetCONearResult(string modelId, int porosity, int sw)
        {
            using (var context = new RetMcnpDbContext(_connectionString))
            {
                var result = context.CONearResultTables.FirstOrDefault(x => x.ModelID == modelId && x.Porosity == porosity && x.Sw == sw);
                return result;
            }
        }
    }
}
ErrorAnalysis.Repository/CONearWOLRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
using ErrorAnalysis.Repository.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ErrorAnalysis.Repository
{
    public class CONearWOLRepository : RepositoryBase
    {
        public CONearWOLRepository(string connectionString) : base(connectionString) { }
        public CONearWOLTable GetCONearWOL(string modelId, int sw)
        {
            using (var context = new RetMcnpDbContext(_connectionString))
            {
                var result = context.CONearWOLTables.FirstOrDefault(x => x.ModelID == modelId && x.Sw == sw);
                return result;
            }
        }
    }
}
ErrorAnalysis.Repository/COWOLRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
using ErrorAnalysis.Repository.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ErrorAnalysis.Repository
{
    public class COWOLRepository : RepositoryBase
    {
        public COWOLRepository(string connectionString) : base(connectionString) { }
        public COWOLTable GetWOL(string modelId, int sw)
        {
            using (var context = new RetMcnpDbContext(_connectionString))
            {
                var result = context.COWOLTables.FirstOrDefault(x => x.ModelID == modelId && x.Sw == sw);
                return result;
            }
        }
    }
}
ErrorAnalysis.Repository/Entity/CCOCASIRTable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class CCOCASIRTable
{
    public string COCASIRID { get; set; } = null!;
    public string ModelID { get; set; } = null!;
    public int? Sw { get; set; }
    public double? WLPu0 { get; set; }
    public double? WLPu5 { get; set; }
    public double? WLPu10 { get; set; }
    public double? WLPu15 { get; set; }
    public double? WLPu20 { get; set; }
    public double? WLPu25 { get; set; }
    public double? WLPu30 { get; set; }
    public double? WLPu35 { get; set; }
    public double? WLPu40 { get; set; }
}
ErrorAnalysis.Repository/Entity/COFarCASIRTable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class COFarCASIRTable
{
    public string COCASIRID { get; set; } = null!;
    public string ModelID { get; set; } = null!;
    public int? Sw { get; set; }
    public double? WLPu0 { get; set; }
    public double? WLPu5 { get; set; }
    public double? WLPu10 { get; set; }
    public double? WLPu15 { get; set; }
    public double? WLPu20 { get; set; }
    public double? WLPu25 { get; set; }
    public double? WLPu30 { get; set; }
    public double? WLPu35 { get; set; }
    public double? WLPu40 { get; set; }
}
ErrorAnalysis.Repository/Entity/COFarResultTable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class COFarResultTable
{
    public string ID { get; set; } = null!;
    public string ModelID { get; set; } = null!;
    public int Porosity { get; set; }
    public int? Sw { get; set; }
    public string? InelasticSpec { get; set; }
    public string? Capture1Spec { get; set; }
    public string? Capture2Spec { get; set; }
    public string? TimeSpec { get; set; }
    public string? CInelasticSpec { get; set; }
    public string? CCapture1Spec { get; set; }
    public string? CCapture2Spec { get; set; }
}
ErrorAnalysis.Repository/Entity/COFarSICARTable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class COFarSICARTable
{
    public string COSICARID { get; set; } = null!;
    public string ModelID { get; set; } = null!;
    public int? Sw { get; set; }
    public double? WLPu0 { get; set; }
    public double? WLPu5 { get; set; }
    public double? WLPu10 { get; set; }
    public double? WLPu15 { get; set; }
    public double? WLPu20 { get; set; }
    public double? WLPu25 { get; set; }
    public double? WLPu30 { get; set; }
    public double? WLPu35 { get; set; }
    public double? WLPu40 { get; set; }
}
ErrorAnalysis.Repository/Entity/COFarWOLTable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class COFarWOLTable
{
    public string COWOLID { get; set; } = null!;
    public string ModelID { get; set; } = null!;
    public int? Sw { get; set; }
    public double? WLPu0 { get; set; }
    public double? WLPu5 { get; set; }
    public double? WLPu10 { get; set; }
    public double? WLPu15 { get; set; }
    public double? WLPu20 { get; set; }
    public double? WLPu25 { get; set; }
    public double? WLPu30 { get; set; }
    public double? WLPu35 { get; set; }
    public double? WLPu40 { get; set; }
    public double? A0 { get; set; }
    public double? A1 { get; set; }
    public double? A2 { get; set; }
}
ErrorAnalysis.Repository/Entity/COLongResultTable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class COLongResultTable
{
    public string? ID { get; set; }
    public string? ModelID { get; set; }
    public int? Porosity { get; set; }
    public int? Sw { get; set; }
    public string? InelasticSpec { get; set; }
    public string? Capture1Spec { get; set; }
    public decimal? Capture2Spec { get; set; }
    public string? TimeSpec { get; set; }
    public string? CInelasticSpec { get; set; }
    public string? CCapture1Spec { get; set; }
    public string? CCapture2Spec { get; set; }
}
ErrorAnalysis.Repository/Entity/COModelTable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class COModelTable
{
    public string ModelID { get; set; } = null!;
    public decimal BIT { get; set; }
    public decimal CasingOD { get; set; }
    public decimal CasingID { get; set; }
    public decimal? ScreenOD { get; set; }
    public string? ScreenID { get; set; }
    public string TubeOD { get; set; } = null!;
    public decimal TubeID { get; set; }
    public string Lithology { get; set; } = null!;
    public string? VSH { get; set; }
    public decimal? OilDensity { get; set; }
    public string? BHSalinity { get; set; }
    public string? ReservoirSalinity { get; set; }
    public string? TubeFluid { get; set; }
    public string? ScreenFluid { get; set; }
    public string? CasingFluid { get; set; }
    public string? CementBond { get; set; }
    public string? GravelFillPercent { get; set; }
}
ErrorAnalysis.Repository/Entity/CONearCASIRTable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class CONearCASIRTable
{
    public string COCASIRID { get; set; } = null!;
    public string ModelID { get; set; } = null!;
    public int? Sw { get; set; }
    public double? WLPu0 { get; set; }
    public double? WLPu5 { get; set; }
    public double? WLPu10 { get; set; }
    public double? WLPu15 { get; set; }
    public double? WLPu20 { get; set; }
    public double? WLPu25 { get; set; }
    public double? WLPu30 { get; set; }
    public double? WLPu35 { get; set; }
    public double? WLPu40 { get; set; }
}
ErrorAnalysis.Repository/Entity/CONearResultTable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class CONearResultTable
{
    public string ID { get; set; } = null!;
    public string ModelID { get; set; } = null!;
    public int Porosity { get; set; }
    public int? Sw { get; set; }
    public string? InelasticSpec { get; set; }
    public string? Capture1Spec { get; set; }
    public string? Capture2Spec { get; set; }
    public string? TimeSpec { get; set; }
    public string? CInelasticSpec { get; set; }
    public string? CCapture1Spec { get; set; }
    public string? CCapture2Spec { get; set; }
}
ErrorAnalysis.Repository/Entity/CONearSICARTable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class CONearSICARTable
{
    public string COSICARID { get; set; } = null!;
    public string ModelID { get; set; } = null!;
    public int? Sw { get; set; }
    public double? WLPu0 { get; set; }
    public double? WLPu5 { get; set; }
    public double? WLPu10 { get; set; }
    public double? WLPu15 { get; set; }
    public double? WLPu20 { get; set; }
    public double? WLPu25 { get; set; }
    public double? WLPu30 { get; set; }
    public double? WLPu35 { get; set; }
    public double? WLPu40 { get; set; }
}
ErrorAnalysis.Repository/Entity/CONearWOLTable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class CONearWOLTable
{
    public string COWOLID { get; set; } = null!;
    public string ModelID { get; set; } = null!;
    public int? Sw { get; set; }
    public double? WLPu0 { get; set; }
    public double? WLPu5 { get; set; }
    public double? WLPu10 { get; set; }
    public double? WLPu15 { get; set; }
    public double? WLPu20 { get; set; }
    public double? WLPu25 { get; set; }
    public double? WLPu30 { get; set; }
    public double? WLPu35 { get; set; }
    public double? WLPu40 { get; set; }
    public double? A0 { get; set; }
    public double? A1 { get; set; }
    public double? A2 { get; set; }
}
ErrorAnalysis.Repository/Entity/COSICARTable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class COSICARTable
{
    public string COSICARID { get; set; } = null!;
    public string ModelID { get; set; } = null!;
    public int? Sw { get; set; }
    public double? WLPu0 { get; set; }
    public double? WLPu5 { get; set; }
    public double? WLPu10 { get; set; }
    public double? WLPu15 { get; set; }
    public double? WLPu20 { get; set; }
    public double? WLPu25 { get; set; }
    public double? WLPu30 { get; set; }
    public double? WLPu35 { get; set; }
    public double? WLPu40 { get; set; }
}
ErrorAnalysis.Repository/Entity/COWOLTable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class COWOLTable
{
    public string COSICARID { get; set; } = null!;
    public string ModelID { get; set; } = null!;
    public int? Sw { get; set; }
    public double? WLPu0 { get; set; }
    public double? WLPu5 { get; set; }
    public double? WLPu10 { get; set; }
    public double? WLPu15 { get; set; }
    public double? WLPu20 { get; set; }
    public double? WLPu25 { get; set; }
    public double? WLPu30 { get; set; }
    public double? WLPu35 { get; set; }
    public double? WLPu40 { get; set; }
    public double? A0 { get; set; }
    public double? A1 { get; set; }
    public double? A2 { get; set; }
}
ErrorAnalysis.Repository/Entity/GasfarResultTable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class GasfarResultTable
{
    public string? Id { get; set; }
    public string? ModelId { get; set; }
    public int? Porosity { get; set; }
    public int? Sw { get; set; }
    public string? InelasticSpec { get; set; }
    public string? Capture1Spec { get; set; }
    public string? Capture2Spec { get; set; }
    public string? TimeSpec { get; set; }
    public string? CinelasticSpec { get; set; }
    public string? Ccapture1Spec { get; set; }
    public string? Ccapture2Spec { get; set; }
}
ErrorAnalysis.Repository/Entity/GaslongResultTable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class GaslongResultTable
{
    public string? Id { get; set; }
    public string? ModelId { get; set; }
    public int? Porosity { get; set; }
    public int? Sw { get; set; }
    public string? InelasticSpec { get; set; }
    public string? Capture1Spec { get; set; }
    public string? Capture2Spec { get; set; }
    public string? TimeSpec { get; set; }
    public string? CinelasticSpec { get; set; }
    public string? Ccapture1Spec { get; set; }
    public string? Ccapture2Spec { get; set; }
}
ErrorAnalysis.Repository/Entity/GasmodelTable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class GasmodelTable
{
    public string? ModelId { get; set; }
    public string? Bit { get; set; }
    public string? CasingDiameter { get; set; }
    public string? ScreenPipeDiameter { get; set; }
    public string? TubeDiameter { get; set; }
    public string? Lithology { get; set; }
    public string? Vsh { get; set; }
    public string? OilDensity { get; set; }
    public string? Bhsalinity { get; set; }
    public string? ReservoirSalinity { get; set; }
    public string? TubeOilHoldUp { get; set; }
    public string? AnnulusOilHoldUp { get; set; }
    public string? CementBond { get; set; }
    public string? GravelFill { get; set; }
}
ErrorAnalysis.Repository/Entity/GasnearResultTable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class GasnearResultTable
{
    public string? Id { get; set; }
    public string? ModelId { get; set; }
    public int? Porosity { get; set; }
    public int? Sw { get; set; }
    public string? InelasticSpec { get; set; }
    public string? Capture1Spec { get; set; }
    public string? Capture2Spec { get; set; }
    public string? TimeSpec { get; set; }
    public string? CinelasticSpec { get; set; }
    public string? Ccapture1Spec { get; set; }
    public string? Ccapture2Spec { get; set; }
}
ErrorAnalysis.Repository/Entity/Gasrcaptable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class Gasrcaptable
{
    public string? Gasrcapid { get; set; }
    public string? ModelId { get; set; }
    public int? Sw { get; set; }
    public double? Wlpu0 { get; set; }
    public double? Wlpu5 { get; set; }
    public double? Wlpu10 { get; set; }
    public double? Wlpu15 { get; set; }
    public double? Wlpu20 { get; set; }
    public double? Wlpu25 { get; set; }
    public double? Wlpu30 { get; set; }
    public double? Wlpu35 { get; set; }
    public double? Wlpu40 { get; set; }
}
ErrorAnalysis.Repository/Entity/Gasrintable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class Gasrintable
{
    public string? Gasrinid { get; set; }
    public string? ModelId { get; set; }
    public int? Sw { get; set; }
    public double? Wlpu0 { get; set; }
    public double? Wlpu5 { get; set; }
    public double? Wlpu10 { get; set; }
    public double? Wlpu15 { get; set; }
    public double? Wlpu20 { get; set; }
    public double? Wlpu25 { get; set; }
    public double? Wlpu30 { get; set; }
    public double? Wlpu35 { get; set; }
    public double? Wlpu40 { get; set; }
}
ErrorAnalysis.Repository/Entity/RetMcnpDbContext.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,975 @@
using System;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
namespace ErrorAnalysis.Repository.Entity;
public partial class RetMcnpDbContext : DbContext
{
    public readonly string _connectionString;
    public RetMcnpDbContext()
    {
    }
    public RetMcnpDbContext(DbContextOptions<RetMcnpDbContext> options)
        : base(options)
    {
    }
    public RetMcnpDbContext(string connectionString) : base()
    {
        _connectionString = connectionString;
    }
    public virtual DbSet<CCOCASIRTable> CCOCASIRTables { get; set; }
    public virtual DbSet<COFarCASIRTable> COFarCASIRTables { get; set; }
    public virtual DbSet<COFarResultTable> COFarResultTables { get; set; }
    public virtual DbSet<COFarSICARTable> COFarSICARTables { get; set; }
    public virtual DbSet<COFarWOLTable> COFarWOLTables { get; set; }
    public virtual DbSet<COLongResultTable> COLongResultTables { get; set; }
    public virtual DbSet<COModelTable> COModelTables { get; set; }
    public virtual DbSet<CONearCASIRTable> CONearCASIRTables { get; set; }
    public virtual DbSet<CONearResultTable> CONearResultTables { get; set; }
    public virtual DbSet<CONearSICARTable> CONearSICARTables { get; set; }
    public virtual DbSet<CONearWOLTable> CONearWOLTables { get; set; }
    public virtual DbSet<COSICARTable> COSICARTables { get; set; }
    public virtual DbSet<COWOLTable> COWOLTables { get; set; }
    public virtual DbSet<GasfarResultTable> GasfarResultTables { get; set; }
    public virtual DbSet<GaslongResultTable> GaslongResultTables { get; set; }
    public virtual DbSet<GasmodelTable> GasmodelTables { get; set; }
    public virtual DbSet<GasnearResultTable> GasnearResultTables { get; set; }
    public virtual DbSet<Gasrcaptable> Gasrcaptables { get; set; }
    public virtual DbSet<Gasrintable> Gasrintables { get; set; }
    public virtual DbSet<SigfarResultTable> SigfarResultTables { get; set; }
    public virtual DbSet<SiglongResultTable> SiglongResultTables { get; set; }
    public virtual DbSet<SigmodelTable> SigmodelTables { get; set; }
    public virtual DbSet<SignearResultTable> SignearResultTables { get; set; }
    public virtual DbSet<Sigwoltable> Sigwoltables { get; set; }
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) => optionsBuilder.UseSqlite(_connectionString);
    //"Data Source=D:\\Pro\\cosl\\ErrorRate\\RetMcnpDB.db"
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<CCOCASIRTable>(entity =>
        {
            entity.HasKey(e => e.COCASIRID);
            entity.ToTable("COCASIRTable");
            entity.Property(e => e.COCASIRID)
                .HasColumnType("nvarchar(200)")
                .HasColumnName("COCASIRID");
            entity.Property(e => e.ModelID)
                .HasColumnType("nvarchar(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Sw).HasColumnType("INT");
            entity.Property(e => e.WLPu0)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu0");
            entity.Property(e => e.WLPu10)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu10");
            entity.Property(e => e.WLPu15)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu15");
            entity.Property(e => e.WLPu20)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu20");
            entity.Property(e => e.WLPu25)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu25");
            entity.Property(e => e.WLPu30)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu30");
            entity.Property(e => e.WLPu35)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu35");
            entity.Property(e => e.WLPu40)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu40");
            entity.Property(e => e.WLPu5)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu5");
        });
        modelBuilder.Entity<COFarCASIRTable>(entity =>
        {
            entity.HasKey(e => e.COCASIRID);
            entity.ToTable("COFarCASIRTable");
            entity.Property(e => e.COCASIRID)
                .HasColumnType("nvarchar(200)")
                .HasColumnName("COCASIRID");
            entity.Property(e => e.ModelID)
                .HasColumnType("nvarchar(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Sw).HasColumnType("INT");
            entity.Property(e => e.WLPu0)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu0");
            entity.Property(e => e.WLPu10)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu10");
            entity.Property(e => e.WLPu15)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu15");
            entity.Property(e => e.WLPu20)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu20");
            entity.Property(e => e.WLPu25)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu25");
            entity.Property(e => e.WLPu30)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu30");
            entity.Property(e => e.WLPu35)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu35");
            entity.Property(e => e.WLPu40)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu40");
            entity.Property(e => e.WLPu5)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu5");
        });
        modelBuilder.Entity<COFarResultTable>(entity =>
        {
            entity.ToTable("COFarResultTable");
            entity.Property(e => e.ID)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ID");
            entity.Property(e => e.Capture1Spec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.Capture2Spec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.CCapture1Spec)
                .HasColumnType("NVARCHAR(4000)")
                .HasColumnName("CCapture1Spec");
            entity.Property(e => e.CCapture2Spec)
                .HasColumnType("NVARCHAR(4000)")
                .HasColumnName("CCapture2Spec");
            entity.Property(e => e.CInelasticSpec)
                .HasColumnType("NVARCHAR(4000)")
                .HasColumnName("CInelasticSpec");
            entity.Property(e => e.InelasticSpec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.ModelID)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Porosity).HasColumnType("INT");
            entity.Property(e => e.Sw).HasColumnType("INT");
            entity.Property(e => e.TimeSpec).HasColumnType("NVARCHAR(500)");
        });
        modelBuilder.Entity<COFarSICARTable>(entity =>
        {
            entity.HasKey(e => e.COSICARID);
            entity.ToTable("COFarSICARTable");
            entity.Property(e => e.COSICARID)
                .HasColumnType("nvarchar(200)")
                .HasColumnName("COSICARID");
            entity.Property(e => e.ModelID)
                .HasColumnType("nvarchar(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Sw).HasColumnType("INT");
            entity.Property(e => e.WLPu0)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu0");
            entity.Property(e => e.WLPu10)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu10");
            entity.Property(e => e.WLPu15)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu15");
            entity.Property(e => e.WLPu20)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu20");
            entity.Property(e => e.WLPu25)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu25");
            entity.Property(e => e.WLPu30)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu30");
            entity.Property(e => e.WLPu35)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu35");
            entity.Property(e => e.WLPu40)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu40");
            entity.Property(e => e.WLPu5)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu5");
        });
        modelBuilder.Entity<COFarWOLTable>(entity =>
        {
            entity.HasKey(e => e.COWOLID);
            entity.ToTable("COFarWOLTable");
            entity.Property(e => e.COWOLID)
                .HasColumnType("nvarchar(200)")
                .HasColumnName("COWOLID");
            entity.Property(e => e.A0)
                .HasColumnType("DOUBLE")
                .HasColumnName("a0");
            entity.Property(e => e.A1)
                .HasColumnType("DOUBLE")
                .HasColumnName("a1");
            entity.Property(e => e.A2)
                .HasColumnType("DOUBLE")
                .HasColumnName("a2");
            entity.Property(e => e.ModelID)
                .HasColumnType("nvarchar(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Sw).HasColumnType("INT");
            entity.Property(e => e.WLPu0)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu0");
            entity.Property(e => e.WLPu10)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu10");
            entity.Property(e => e.WLPu15)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu15");
            entity.Property(e => e.WLPu20)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu20");
            entity.Property(e => e.WLPu25)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu25");
            entity.Property(e => e.WLPu30)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu30");
            entity.Property(e => e.WLPu35)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu35");
            entity.Property(e => e.WLPu40)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu40");
            entity.Property(e => e.WLPu5)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu5");
        });
        modelBuilder.Entity<COLongResultTable>(entity =>
        {
            entity
                .HasNoKey()
                .ToTable("COLongResultTable");
            entity.Property(e => e.Capture1Spec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.Capture2Spec).HasColumnType("NUMERIC(4000)");
            entity.Property(e => e.CCapture1Spec)
                .HasColumnType("NVARCHAR(4000)")
                .HasColumnName("CCapture1Spec");
            entity.Property(e => e.CCapture2Spec)
                .HasColumnType("NVARCHAR(4000)")
                .HasColumnName("CCapture2Spec");
            entity.Property(e => e.CInelasticSpec)
                .HasColumnType("NVARCHAR(4000)")
                .HasColumnName("CInelasticSpec");
            entity.Property(e => e.ID)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ID");
            entity.Property(e => e.InelasticSpec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.ModelID)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Porosity).HasColumnType("INT");
            entity.Property(e => e.Sw).HasColumnType("INT");
            entity.Property(e => e.TimeSpec).HasColumnType("NVARCHAR(500)");
        });
        modelBuilder.Entity<COModelTable>(entity =>
        {
            entity.HasKey(e => e.ModelID);
            entity.ToTable("COModelTable");
            entity.Property(e => e.ModelID)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.BHSalinity)
                .HasColumnType("NVARCHAR(50)")
                .HasColumnName("BHSalinity");
            entity.Property(e => e.BIT)
                .HasColumnType("NVARCHAR(50)")
                .HasColumnName("BIT");
            entity.Property(e => e.CasingFluid).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.CasingID)
                .HasColumnType("NVARCHAR(50)")
                .HasColumnName("CasingID");
            entity.Property(e => e.CasingOD)
                .HasColumnType("NVARCHAR(50)")
                .HasColumnName("CasingOD");
            entity.Property(e => e.CementBond).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.GravelFillPercent).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.Lithology).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.OilDensity).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.ReservoirSalinity).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.ScreenFluid).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.ScreenID)
                .HasColumnType("NVARCHAR(50)")
                .HasColumnName("ScreenID");
            entity.Property(e => e.ScreenOD)
                .HasColumnType("NVARCHAR(50)")
                .HasColumnName("ScreenOD");
            entity.Property(e => e.TubeFluid).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.TubeID)
                .HasColumnType("NVARCHAR(50)")
                .HasColumnName("TubeID");
            entity.Property(e => e.TubeOD)
                .HasColumnType("NVARCHAR(50)")
                .HasColumnName("TubeOD");
            entity.Property(e => e.VSH)
                .HasColumnType("NVARCHAR(50)")
                .HasColumnName("VSH");
        });
        modelBuilder.Entity<CONearCASIRTable>(entity =>
        {
            entity.HasKey(e => e.COCASIRID);
            entity.ToTable("CONearCASIRTable");
            entity.Property(e => e.COCASIRID)
                .HasColumnType("nvarchar(200)")
                .HasColumnName("COCASIRID");
            entity.Property(e => e.ModelID)
                .HasColumnType("nvarchar(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Sw).HasColumnType("INT");
            entity.Property(e => e.WLPu0)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu0");
            entity.Property(e => e.WLPu10)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu10");
            entity.Property(e => e.WLPu15)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu15");
            entity.Property(e => e.WLPu20)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu20");
            entity.Property(e => e.WLPu25)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu25");
            entity.Property(e => e.WLPu30)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu30");
            entity.Property(e => e.WLPu35)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu35");
            entity.Property(e => e.WLPu40)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu40");
            entity.Property(e => e.WLPu5)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu5");
        });
        modelBuilder.Entity<CONearResultTable>(entity =>
        {
            entity.ToTable("CONearResultTable");
            entity.Property(e => e.ID)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ID");
            entity.Property(e => e.Capture1Spec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.Capture2Spec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.CCapture1Spec)
                .HasColumnType("NVARCHAR(4000)")
                .HasColumnName("CCapture1Spec");
            entity.Property(e => e.CCapture2Spec)
                .HasColumnType("NVARCHAR(4000)")
                .HasColumnName("CCapture2Spec");
            entity.Property(e => e.CInelasticSpec)
                .HasColumnType("NVARCHAR(4000)")
                .HasColumnName("CInelasticSpec");
            entity.Property(e => e.InelasticSpec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.ModelID)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Porosity).HasColumnType("INT");
            entity.Property(e => e.Sw).HasColumnType("INT");
            entity.Property(e => e.TimeSpec).HasColumnType("NVARCHAR(500)");
        });
        modelBuilder.Entity<CONearSICARTable>(entity =>
        {
            entity.HasKey(e => e.COSICARID);
            entity.ToTable("CONearSICARTable");
            entity.Property(e => e.COSICARID)
                .HasColumnType("nvarchar(200)")
                .HasColumnName("COSICARID");
            entity.Property(e => e.ModelID)
                .HasColumnType("nvarchar(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Sw).HasColumnType("INT");
            entity.Property(e => e.WLPu0)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu0");
            entity.Property(e => e.WLPu10)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu10");
            entity.Property(e => e.WLPu15)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu15");
            entity.Property(e => e.WLPu20)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu20");
            entity.Property(e => e.WLPu25)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu25");
            entity.Property(e => e.WLPu30)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu30");
            entity.Property(e => e.WLPu35)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu35");
            entity.Property(e => e.WLPu40)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu40");
            entity.Property(e => e.WLPu5)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu5");
        });
        modelBuilder.Entity<CONearWOLTable>(entity =>
        {
            entity.HasKey(e => e.COWOLID);
            entity.ToTable("CONearWOLTable");
            entity.Property(e => e.COWOLID)
                .HasColumnType("nvarchar(200)")
                .HasColumnName("COWOLID");
            entity.Property(e => e.A0)
                .HasColumnType("DOUBLE")
                .HasColumnName("a0");
            entity.Property(e => e.A1)
                .HasColumnType("DOUBLE")
                .HasColumnName("a1");
            entity.Property(e => e.A2)
                .HasColumnType("DOUBLE")
                .HasColumnName("a2");
            entity.Property(e => e.ModelID)
                .HasColumnType("nvarchar(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Sw).HasColumnType("INT");
            entity.Property(e => e.WLPu0)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu0");
            entity.Property(e => e.WLPu10)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu10");
            entity.Property(e => e.WLPu15)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu15");
            entity.Property(e => e.WLPu20)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu20");
            entity.Property(e => e.WLPu25)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu25");
            entity.Property(e => e.WLPu30)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu30");
            entity.Property(e => e.WLPu35)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu35");
            entity.Property(e => e.WLPu40)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu40");
            entity.Property(e => e.WLPu5)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu5");
        });
        modelBuilder.Entity<COSICARTable>(entity =>
        {
            entity.HasKey(e => e.COSICARID);
            entity.ToTable("COSICARTable");
            entity.Property(e => e.COSICARID)
                .HasColumnType("nvarchar(200)")
                .HasColumnName("COSICARID");
            entity.Property(e => e.ModelID)
                .HasColumnType("nvarchar(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Sw).HasColumnType("INT");
            entity.Property(e => e.WLPu0)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu0");
            entity.Property(e => e.WLPu10)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu10");
            entity.Property(e => e.WLPu15)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu15");
            entity.Property(e => e.WLPu20)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu20");
            entity.Property(e => e.WLPu25)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu25");
            entity.Property(e => e.WLPu30)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu30");
            entity.Property(e => e.WLPu35)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu35");
            entity.Property(e => e.WLPu40)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu40");
            entity.Property(e => e.WLPu5)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu5");
        });
        modelBuilder.Entity<COWOLTable>(entity =>
        {
            entity.HasKey(e => e.COSICARID);
            entity.ToTable("COWOLTable");
            entity.Property(e => e.COSICARID)
                .HasColumnType("nvarchar(200)")
                .HasColumnName("COWOLID");
            entity.Property(e => e.A0)
                .HasColumnType("DOUBLE")
                .HasColumnName("a0");
            entity.Property(e => e.A1)
                .HasColumnType("DOUBLE")
                .HasColumnName("a1");
            entity.Property(e => e.A2)
                .HasColumnType("DOUBLE")
                .HasColumnName("a2");
            entity.Property(e => e.ModelID)
                .HasColumnType("nvarchar(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Sw).HasColumnType("INT");
            entity.Property(e => e.WLPu0)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu0");
            entity.Property(e => e.WLPu10)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu10");
            entity.Property(e => e.WLPu15)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu15");
            entity.Property(e => e.WLPu20)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu20");
            entity.Property(e => e.WLPu25)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu25");
            entity.Property(e => e.WLPu30)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu30");
            entity.Property(e => e.WLPu35)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu35");
            entity.Property(e => e.WLPu40)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu40");
            entity.Property(e => e.WLPu5)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu5");
        });
        modelBuilder.Entity<GasfarResultTable>(entity =>
        {
            entity
                .HasNoKey()
                .ToTable("GASFarResultTable");
            entity.Property(e => e.Capture1Spec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.Capture2Spec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.Ccapture1Spec)
                .HasColumnType("NVARCHAR(4000)")
                .HasColumnName("CCapture1Spec");
            entity.Property(e => e.Ccapture2Spec)
                .HasColumnType("NVARCHAR(4000)")
                .HasColumnName("CCapture2Spec");
            entity.Property(e => e.CinelasticSpec)
                .HasColumnType("NVARCHAR(4000)")
                .HasColumnName("CInelasticSpec");
            entity.Property(e => e.Id)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ID");
            entity.Property(e => e.InelasticSpec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.ModelId)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Porosity).HasColumnType("INT");
            entity.Property(e => e.Sw).HasColumnType("INT");
            entity.Property(e => e.TimeSpec).HasColumnType("NVARCHAR(500)");
        });
        modelBuilder.Entity<GaslongResultTable>(entity =>
        {
            entity
                .HasNoKey()
                .ToTable("GASLongResultTable");
            entity.Property(e => e.Capture1Spec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.Capture2Spec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.Ccapture1Spec)
                .HasColumnType("NVARCHAR(4000)")
                .HasColumnName("CCapture1Spec");
            entity.Property(e => e.Ccapture2Spec)
                .HasColumnType("NVARCHAR(4000)")
                .HasColumnName("CCapture2Spec");
            entity.Property(e => e.CinelasticSpec)
                .HasColumnType("NVARCHAR(4000)")
                .HasColumnName("CInelasticSpec");
            entity.Property(e => e.Id)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ID");
            entity.Property(e => e.InelasticSpec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.ModelId)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Porosity).HasColumnType("INT");
            entity.Property(e => e.Sw).HasColumnType("INT");
            entity.Property(e => e.TimeSpec).HasColumnType("NVARCHAR(500)");
        });
        modelBuilder.Entity<GasmodelTable>(entity =>
        {
            entity
                .HasNoKey()
                .ToTable("GASModelTable");
            entity.Property(e => e.AnnulusOilHoldUp).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.Bhsalinity)
                .HasColumnType("NVARCHAR(50)")
                .HasColumnName("BHSalinity");
            entity.Property(e => e.Bit)
                .HasColumnType("NVARCHAR(50)")
                .HasColumnName("BIT");
            entity.Property(e => e.CasingDiameter).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.CementBond).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.GravelFill).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.Lithology).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.ModelId)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.OilDensity).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.ReservoirSalinity).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.ScreenPipeDiameter).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.TubeDiameter).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.TubeOilHoldUp).HasColumnType("NVARCHAR");
            entity.Property(e => e.Vsh)
                .HasColumnType("NVARCHAR(50)")
                .HasColumnName("VSH");
        });
        modelBuilder.Entity<GasnearResultTable>(entity =>
        {
            entity
                .HasNoKey()
                .ToTable("GASNearResultTable");
            entity.Property(e => e.Capture1Spec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.Capture2Spec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.Ccapture1Spec)
                .HasColumnType("NVARCHAR(4000)")
                .HasColumnName("CCapture1Spec");
            entity.Property(e => e.Ccapture2Spec)
                .HasColumnType("NVARCHAR(4000)")
                .HasColumnName("CCapture2Spec");
            entity.Property(e => e.CinelasticSpec)
                .HasColumnType("NVARCHAR(4000)")
                .HasColumnName("CInelasticSpec");
            entity.Property(e => e.Id)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ID");
            entity.Property(e => e.InelasticSpec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.ModelId)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Porosity).HasColumnType("INT");
            entity.Property(e => e.Sw).HasColumnType("INT");
            entity.Property(e => e.TimeSpec).HasColumnType("NVARCHAR(500)");
        });
        modelBuilder.Entity<Gasrcaptable>(entity =>
        {
            entity
                .HasNoKey()
                .ToTable("GASRCAPTable");
            entity.Property(e => e.Gasrcapid)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("GASRCAPID");
            entity.Property(e => e.ModelId)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Sw).HasColumnType("INT");
            entity.Property(e => e.Wlpu0)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu0");
            entity.Property(e => e.Wlpu10)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu10");
            entity.Property(e => e.Wlpu15)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu15");
            entity.Property(e => e.Wlpu20)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu20");
            entity.Property(e => e.Wlpu25)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu25");
            entity.Property(e => e.Wlpu30)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu30");
            entity.Property(e => e.Wlpu35)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu35");
            entity.Property(e => e.Wlpu40)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu40");
            entity.Property(e => e.Wlpu5)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu5");
        });
        modelBuilder.Entity<Gasrintable>(entity =>
        {
            entity
                .HasNoKey()
                .ToTable("GASRINTable");
            entity.Property(e => e.Gasrinid)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("GASRINID");
            entity.Property(e => e.ModelId)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Sw).HasColumnType("INT");
            entity.Property(e => e.Wlpu0)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu0");
            entity.Property(e => e.Wlpu10)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu10");
            entity.Property(e => e.Wlpu15)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu15");
            entity.Property(e => e.Wlpu20)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu20");
            entity.Property(e => e.Wlpu25)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu25");
            entity.Property(e => e.Wlpu30)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu30");
            entity.Property(e => e.Wlpu35)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu35");
            entity.Property(e => e.Wlpu40)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu40");
            entity.Property(e => e.Wlpu5)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu5");
        });
        modelBuilder.Entity<SigfarResultTable>(entity =>
        {
            entity.ToTable("SIGFarResultTable");
            entity.Property(e => e.Id)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ID");
            entity.Property(e => e.Capture1Spec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.Capture2Spec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.Ccapture1Spec)
                .HasColumnType("NVARCHAR(4000)")
                .HasColumnName("CCapture1Spec");
            entity.Property(e => e.Ccapture2Spec)
                .HasColumnType("NVARCHAR(4000)")
                .HasColumnName("CCapture2Spec");
            entity.Property(e => e.CinelasticSpec)
                .HasColumnType("NUMERIC(4000)")
                .HasColumnName("CInelasticSpec");
            entity.Property(e => e.InelasticSpec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.ModelId)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Porosity).HasColumnType("INT");
            entity.Property(e => e.Sw).HasColumnType("INT");
            entity.Property(e => e.TimeSpec).HasColumnType("NVARCHAR(500)");
        });
        modelBuilder.Entity<SiglongResultTable>(entity =>
        {
            entity.ToTable("SIGLongResultTable");
            entity.Property(e => e.Id)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ID");
            entity.Property(e => e.Capture1Spec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.Capture2Spec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.InelasticSpec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.ModelId)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Porosity).HasColumnType("INT");
            entity.Property(e => e.Sw).HasColumnType("INT");
            entity.Property(e => e.TimeSpec).HasColumnType("NVARCHAR(500)");
        });
        modelBuilder.Entity<SigmodelTable>(entity =>
        {
            entity.HasKey(e => e.ModelId);
            entity.ToTable("SIGModelTable");
            entity.Property(e => e.ModelId)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Bhsalinity)
                .HasColumnType("NVARCHAR(50)")
                .HasColumnName("BHSalinity");
            entity.Property(e => e.Bit)
                .HasColumnType("NVARCHAR(50)")
                .HasColumnName("BIT");
            entity.Property(e => e.CasingFluid).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.CasingId)
                .HasColumnType("NVARCHAR(50)")
                .HasColumnName("CasingID");
            entity.Property(e => e.CasingOd)
                .HasColumnType("NVARCHAR(50)")
                .HasColumnName("CasingOD");
            entity.Property(e => e.CementBond).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.GravelFillPercent).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.Lithology).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.OilDensity).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.ReservoirSalinity).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.ScreenFluid).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.ScreenId)
                .HasColumnType("NVARCHAR(50)")
                .HasColumnName("ScreenID");
            entity.Property(e => e.ScreenOd)
                .HasColumnType("NVARCHAR(50)")
                .HasColumnName("ScreenOD");
            entity.Property(e => e.TubeFluid).HasColumnType("NVARCHAR(50)");
            entity.Property(e => e.TubeId)
                .HasColumnType("NVARCHAR(50)")
                .HasColumnName("TubeID");
            entity.Property(e => e.TubeOd)
                .HasColumnType("NVARCHAR(50)")
                .HasColumnName("TubeOD");
            entity.Property(e => e.Vsh)
                .HasColumnType("NVARCHAR(50)")
                .HasColumnName("VSH");
        });
        modelBuilder.Entity<SignearResultTable>(entity =>
        {
            entity.ToTable("SIGNearResultTable");
            entity.Property(e => e.Id)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ID");
            entity.Property(e => e.Capture1Spec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.Capture2Spec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.InelasticSpec).HasColumnType("NVARCHAR(4000)");
            entity.Property(e => e.ModelId)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Porosity).HasColumnType("INT");
            entity.Property(e => e.Sw).HasColumnType("INT");
            entity.Property(e => e.TimeSpec).HasColumnType("NVARCHAR(500)");
        });
        modelBuilder.Entity<Sigwoltable>(entity =>
        {
            entity.HasKey(e => e.Cowolid);
            entity.ToTable("SIGWOLTable");
            entity.Property(e => e.Cowolid)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("COWOLID");
            entity.Property(e => e.A0)
                .HasColumnType("DOUBLE")
                .HasColumnName("a0");
            entity.Property(e => e.A1)
                .HasColumnType("DOUBLE")
                .HasColumnName("a1");
            entity.Property(e => e.A2)
                .HasColumnType("DOUBLE")
                .HasColumnName("a2");
            entity.Property(e => e.ModelId)
                .HasColumnType("NVARCHAR(200)")
                .HasColumnName("ModelID");
            entity.Property(e => e.Sw).HasColumnType("INT");
            entity.Property(e => e.Wlpu0)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu0");
            entity.Property(e => e.Wlpu10)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu10");
            entity.Property(e => e.Wlpu15)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu15");
            entity.Property(e => e.Wlpu20)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu20");
            entity.Property(e => e.Wlpu25)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu25");
            entity.Property(e => e.Wlpu30)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu30");
            entity.Property(e => e.Wlpu35)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu35");
            entity.Property(e => e.Wlpu40)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu40");
            entity.Property(e => e.Wlpu5)
                .HasColumnType("DOUBLE")
                .HasColumnName("WLPu5");
        });
        OnModelCreatingPartial(modelBuilder);
    }
    partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
}
ErrorAnalysis.Repository/Entity/SigfarResultTable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class SigfarResultTable
{
    public string Id { get; set; } = null!;
    public string ModelId { get; set; } = null!;
    public int Porosity { get; set; }
    public int? Sw { get; set; }
    public string? InelasticSpec { get; set; }
    public string? Capture1Spec { get; set; }
    public string? Capture2Spec { get; set; }
    public string? TimeSpec { get; set; }
    public decimal? CinelasticSpec { get; set; }
    public string? Ccapture1Spec { get; set; }
    public string? Ccapture2Spec { get; set; }
}
ErrorAnalysis.Repository/Entity/SiglongResultTable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class SiglongResultTable
{
    public string Id { get; set; } = null!;
    public string ModelId { get; set; } = null!;
    public int Porosity { get; set; }
    public int? Sw { get; set; }
    public string? InelasticSpec { get; set; }
    public string? Capture1Spec { get; set; }
    public string? Capture2Spec { get; set; }
    public string? TimeSpec { get; set; }
}
ErrorAnalysis.Repository/Entity/SigmodelTable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class SigmodelTable
{
    public string ModelId { get; set; } = null!;
    public string Bit { get; set; } = null!;
    public string CasingOd { get; set; } = null!;
    public string CasingId { get; set; } = null!;
    public string? ScreenOd { get; set; }
    public string? ScreenId { get; set; }
    public string TubeOd { get; set; } = null!;
    public string TubeId { get; set; } = null!;
    public string Lithology { get; set; } = null!;
    public string? Vsh { get; set; }
    public string? OilDensity { get; set; }
    public string? Bhsalinity { get; set; }
    public string? ReservoirSalinity { get; set; }
    public string? TubeFluid { get; set; }
    public string? ScreenFluid { get; set; }
    public string? CasingFluid { get; set; }
    public string? CementBond { get; set; }
    public string? GravelFillPercent { get; set; }
}
ErrorAnalysis.Repository/Entity/SignearResultTable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class SignearResultTable
{
    public string Id { get; set; } = null!;
    public string ModelId { get; set; } = null!;
    public int Porosity { get; set; }
    public int? Sw { get; set; }
    public string? InelasticSpec { get; set; }
    public string? Capture1Spec { get; set; }
    public string? Capture2Spec { get; set; }
    public string? TimeSpec { get; set; }
}
ErrorAnalysis.Repository/Entity/Sigwoltable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
namespace ErrorAnalysis.Repository.Entity;
public partial class Sigwoltable
{
    public string Cowolid { get; set; } = null!;
    public string ModelId { get; set; } = null!;
    public int? Sw { get; set; }
    public double? Wlpu0 { get; set; }
    public double? Wlpu5 { get; set; }
    public double? Wlpu10 { get; set; }
    public double? Wlpu15 { get; set; }
    public double? Wlpu20 { get; set; }
    public double? Wlpu25 { get; set; }
    public double? Wlpu30 { get; set; }
    public double? Wlpu35 { get; set; }
    public double? Wlpu40 { get; set; }
    public double? A0 { get; set; }
    public double? A1 { get; set; }
    public double? A2 { get; set; }
}
ErrorAnalysis.Repository/ErrorAnalysis.Repository.csproj
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.6" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.6">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.6" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.6">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
  </ItemGroup>
</Project>
ErrorAnalysis.Repository/RepositoryBase.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ErrorAnalysis.Repository
{
    public class RepositoryBase
    {
        public readonly string _connectionString;
        public RepositoryBase(string connectionString) => _connectionString = connectionString;
    }
}
ErrorAnalysis.Service/COMergeCalcService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,86 @@
using ErrorAnalysis.Repository;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ErrorAnalysis.Service
{
    public class COMergeCalcService
    {
        const double _gg = (9.0 - 0.0) / 255.0;//0.03529
        const double _offset = 0.0;
        const int _cWinStartIndex = (int)(3.3 / _gg + _offset); //C窗口index
        const int _cWinEndIndex = (int)(4.78 / _gg + _offset); // width= 4.78-3.3  = 1.48
        const int _oWinStartIndex = (int)(4.88 / _gg + _offset); // org
        const int _oWinEndIndex = (int)(6.36 / _gg + _offset); // width = 6.36-4.88=1.48
        public static double GetFarMergeCResult(string connectionString, string modelId, int porosity)
        {
            var repository = new COFarResultRepository(connectionString);
            var cResult = repository.GetCOFarResult(modelId, porosity, 0);
            if (cResult == null)
                throw new InvalidDataException("COFarResult not found");
            var cArr = cResult.InelasticSpec?.Split(',').Select(v => Convert.ToDouble(v)).ToArray();
            if (cArr == null)
                throw new InvalidDataException("COFarResult InelasticSpec is null");
            var length = _cWinEndIndex - _cWinStartIndex + 1;
            var result = cArr.Skip(_cWinStartIndex).Take(length).Sum();
            return result;
        }
        public static double GetFarMergeOResult(string connectionString, string modelId, int porosity)
        {
            var repository = new COFarResultRepository(connectionString);
            var cResult = repository.GetCOFarResult(modelId, porosity, 100);
            if (cResult == null)
                throw new InvalidDataException("COFarResult not found");
            var cArr = cResult.InelasticSpec?.Split(',').Select(v => Convert.ToDouble(v)).ToArray();
            if (cArr == null)
                throw new InvalidDataException("COFarResult InelasticSpec is null");
            var length = _oWinEndIndex - _oWinStartIndex + 1;
            var result = cArr.Skip(_oWinStartIndex).Take(length).Sum();
            return result;
        }
        public static double GetNearMergeCResult(string connectionString, string modelId, int porosity)
        {
            var repository = new CONearResultRepository(connectionString);
            var cResult = repository.GetCONearResult(modelId, porosity, 0);
            if (cResult == null)
                throw new InvalidDataException("CONearResult not found");
            var cArr = cResult.InelasticSpec?.Split(',').Select(v => Convert.ToDouble(v)).ToArray();
            if (cArr == null)
                throw new InvalidDataException("CONearResult InelasticSpec is null");
            var length = _cWinEndIndex - _cWinStartIndex + 1;
            var result = cArr.Skip(_cWinStartIndex).Take(length).Sum();
            return result;
        }
        public static double GetNearMergeOResult(string connectionString, string modelId, int porosity)
        {
            var repository = new CONearResultRepository(connectionString);
            var cResult = repository.GetCONearResult(modelId, porosity, 100);
            if (cResult == null)
                throw new InvalidDataException("CONearResult not found");
            var cArr = cResult.InelasticSpec?.Split(',').Select(v => Convert.ToDouble(v)).ToArray();
            if (cArr == null)
                throw new InvalidDataException("CONearResult InelasticSpec is null");
            var length = _oWinEndIndex - _oWinStartIndex + 1;
            var result = cArr.Skip(_oWinStartIndex).Take(length).Sum();
            return result;
        }
    }
}
ErrorAnalysis.Service/ErrorAnalysis.Service.csproj
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>
  <ItemGroup>
    <ProjectReference Include="..\ErrorAnalysis.Repository\ErrorAnalysis.Repository.csproj" />
  </ItemGroup>
</Project>
ErrorAnalysis.Service/ErrorRatioCalc.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
using ErrorAnalysis.Repository;
using ErrorAnalysis.Service.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ErrorAnalysis.Service
{
    public class ErrorRatioCalc
    {
        public static ErrorRatioResult GetErrorRatioResult() { return new ErrorRatioResult(); }
        private static ErrorRatio GetErrorRatio(string connectionString, string modelID, int porosity)
        {
            var coWOLRepository = new COWOLRepository(connectionString);
            var cWolRes = coWOLRepository.GetWOL(modelID, 0);
            var oWolRes = coWOLRepository.GetWOL(modelID, 100);
            return new ErrorRatio { };
        }
    }
}
ErrorAnalysis.Service/Model/ErrorRatioModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
using ErrorAnalysis.Repository.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ErrorAnalysis.Service.Model
{
    public class ErrorRatioResult
    {
        public COModelTable? COModel { get; set; }
        public List<ErrorRatio>? ErrorRatios { get; set; }
    }
    public class ErrorRatio
    {
        public int Porosity { get; set; }
        public int Pass { get; set; }
        public double ErrorRatioValue { get; set; }
    }
}
ErrorAnalysis.Service/PDEVCalcService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ErrorAnalysis.Service
{
    public class PDEVCalcService
    {
        public static double GetMergePDEV(string connectionString, string modelId, int porosity)
        {
            var farC = COMergeCalcService.GetFarMergeCResult(connectionString, modelId, porosity);
            var farO = COMergeCalcService.GetFarMergeOResult(connectionString, modelId, porosity);
            var farPDEV = CalcPDEV(farC, farO);
            var nearC = COMergeCalcService.GetNearMergeCResult(connectionString, modelId, porosity);
            var nearO = COMergeCalcService.GetNearMergeOResult(connectionString, modelId, porosity);
            var nearPDEV = CalcPDEV(nearC, nearO);
            return nearPDEV * 0.65 + farPDEV * 0.35;
        }
        private static double CalcPDEV(double c, double o) => Math.Sqrt(Math.Pow(c / o, 2) * (1 / c + 1 / o));
    }
}
ErrorAnalysis.UI/ErrorAnalysis.UI.csproj
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net8.0-windows</TargetFramework>
    <Nullable>enable</Nullable>
    <UseWindowsForms>true</UseWindowsForms>
    <ImplicitUsings>enable</ImplicitUsings>
  </PropertyGroup>
  <ItemGroup>
    <ProjectReference Include="..\ErrorAnalysis.Repository\ErrorAnalysis.Repository.csproj" />
    <ProjectReference Include="..\ErrorAnalysis.Service\ErrorAnalysis.Service.csproj" />
  </ItemGroup>
</Project>
ErrorAnalysis.UI/Form1.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,59 @@
namespace ErrorAnalysis.UI
{
    partial class Form1
    {
        /// <summary>
        ///  Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;
        /// <summary>
        ///  Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
        #region Windows Form Designer generated code
        /// <summary>
        ///  Required method for Designer support - do not modify
        ///  the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            btnGetAllPipe = new Button();
            SuspendLayout();
            //
            // btnGetAllPipe
            //
            btnGetAllPipe.Location = new Point(642, 344);
            btnGetAllPipe.Name = "btnGetAllPipe";
            btnGetAllPipe.Size = new Size(75, 23);
            btnGetAllPipe.TabIndex = 0;
            btnGetAllPipe.Text = "button1";
            btnGetAllPipe.UseVisualStyleBackColor = true;
            btnGetAllPipe.Click += btnGetAllPipe_Click;
            //
            // Form1
            //
            AutoScaleDimensions = new SizeF(7F, 17F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(800, 450);
            Controls.Add(btnGetAllPipe);
            Name = "Form1";
            Text = "Form1";
            ResumeLayout(false);
        }
        #endregion
        private Button btnGetAllPipe;
    }
}
ErrorAnalysis.UI/Form1.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
using ErrorAnalysis.Repository;
namespace ErrorAnalysis.UI
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void btnGetAllPipe_Click(object sender, EventArgs e)
        {
            var connectionString = "Data Source=D:\\Pro\\cosl\\ErrorRate\\RetMcnpDB.db";
            var modelRepository = new COModelRepository(connectionString);
            var models = modelRepository.GetCOModels();
        }
    }
}
ErrorAnalysis.UI/Form1.resx
ÎļþÃû´Ó ErrorAnalysis/Properties/Resources.resx ÐÞ¸Ä
@@ -46,7 +46,7 @@
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Serialization.Formatters.Binary.BinaryFormatter
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
@@ -60,6 +60,7 @@
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
@@ -68,9 +69,10 @@
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" />
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
@@ -85,9 +87,10 @@
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
@@ -109,9 +112,9 @@
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>
ErrorAnalysis.UI/Program.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
namespace ErrorAnalysis.UI
{
    internal static class Program
    {
        /// <summary>
        ///  The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            // To customize application configuration such as set high DPI settings or default font,
            // see https://aka.ms/applicationconfiguration.
            ApplicationConfiguration.Initialize();
            Application.Run(new Form1());
        }
    }
}
ErrorAnalysis.sln
@@ -3,7 +3,11 @@
# Visual Studio Version 17
VisualStudioVersion = 17.10.35027.167
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ErrorAnalysis", "ErrorAnalysis\ErrorAnalysis.csproj", "{843570BC-C1C7-4CBB-895E-D45D968BFF26}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ErrorAnalysis.UI", "ErrorAnalysis.UI\ErrorAnalysis.UI.csproj", "{D3AA890E-A643-49CE-A8BF-C0C3EDF7EBDD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ErrorAnalysis.Repository", "ErrorAnalysis.Repository\ErrorAnalysis.Repository.csproj", "{CE9FBF0C-2B9F-4503-B009-B5A5BB30D2DE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ErrorAnalysis.Service", "ErrorAnalysis.Service\ErrorAnalysis.Service.csproj", "{51D61B80-C544-45D8-8C8A-44C1E8C7413A}"
EndProject
Global
    GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -11,10 +15,18 @@
        Release|Any CPU = Release|Any CPU
    EndGlobalSection
    GlobalSection(ProjectConfigurationPlatforms) = postSolution
        {843570BC-C1C7-4CBB-895E-D45D968BFF26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {843570BC-C1C7-4CBB-895E-D45D968BFF26}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {843570BC-C1C7-4CBB-895E-D45D968BFF26}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {843570BC-C1C7-4CBB-895E-D45D968BFF26}.Release|Any CPU.Build.0 = Release|Any CPU
        {D3AA890E-A643-49CE-A8BF-C0C3EDF7EBDD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {D3AA890E-A643-49CE-A8BF-C0C3EDF7EBDD}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {D3AA890E-A643-49CE-A8BF-C0C3EDF7EBDD}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {D3AA890E-A643-49CE-A8BF-C0C3EDF7EBDD}.Release|Any CPU.Build.0 = Release|Any CPU
        {CE9FBF0C-2B9F-4503-B009-B5A5BB30D2DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {CE9FBF0C-2B9F-4503-B009-B5A5BB30D2DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {CE9FBF0C-2B9F-4503-B009-B5A5BB30D2DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {CE9FBF0C-2B9F-4503-B009-B5A5BB30D2DE}.Release|Any CPU.Build.0 = Release|Any CPU
        {51D61B80-C544-45D8-8C8A-44C1E8C7413A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {51D61B80-C544-45D8-8C8A-44C1E8C7413A}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {51D61B80-C544-45D8-8C8A-44C1E8C7413A}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {51D61B80-C544-45D8-8C8A-44C1E8C7413A}.Release|Any CPU.Build.0 = Release|Any CPU
    EndGlobalSection
    GlobalSection(SolutionProperties) = preSolution
        HideSolutionNode = FALSE
ErrorAnalysis/App.config
ÎļþÒÑɾ³ý
ErrorAnalysis/ErrorAnalysis.csproj
ÎļþÒÑɾ³ý
ErrorAnalysis/Program.cs
ÎļþÒÑɾ³ý
ErrorAnalysis/Properties/AssemblyInfo.cs
ÎļþÒÑɾ³ý
ErrorAnalysis/Properties/Resources.Designer.cs
ÎļþÒÑɾ³ý
ErrorAnalysis/Properties/Settings.Designer.cs
ÎļþÒÑɾ³ý
ErrorAnalysis/Properties/Settings.settings
ÎļþÒÑɾ³ý