3
私は、あるデータベースエンティティから別のエンティティへデータをコピーするプロセスがあります。だからC位で式Entity Frameworkの6とLINQを使用する:エンティティフレームワーク6:トリムが正しく機能しない
public partial class ReferenceEntities : DbContext {
public Nullable<System.DateTime> ActivationDate { get; set; }
public string Code { get; set; }
}
this.ReferenceEntities.ReferenceEntity.AsEnumerable().Select(referenceEntry => new StagingReferenceLoader() {
ActivationDate = referenceEntry.ActivationDate,
Code = referenceEntry.Code?.TrimStart('0').Trim()
});
this.ProcessingEntities.StagingReferenceLoader.AddRange(stagingEntries);
this.ProcessingEntities.SaveChanges();
Code
このプロセスによって影響を受ける両方のエンティティでchar(11)
カラムです。
例:253089
:私はそれがこのように見えるようにしたいトリム操作で00000253089
:で
StagingReferenceLoaderCode
値は次のようになります。私はそれを実行したとき、最初の方法でこれは正常に見えます。 しかし、私は直接それは次のように私の結果を与えるデータベースにこのSQLクエリを実行した場合:
SELECT DATALENGTH(code), len(code), code
FROM staging.ReferenceLoader
datalength | len | code
11 | 6 | 253177
11 | 6 | 270724
はなぜEntity Frameworkのは、ちょうどトリム操作をしないのですか?
[コード]をvarchar(11)に変更できますか?問題は、char(11)は常に固定長であることだと思います。 –
私はそれを試みます。ありがとう – rbr94
@カルロスアドリアンそれは動作します。ありがとうございます。 – rbr94