2017-09-19 9 views
1

SQL Serverとoracle.weの両方で動作するアプリケーションがありますが、アプリケーション全体でSql関数が使用されています。今私たちはOracleに移行しています。以下の は、使用したSql関数です。エンティティ・フレームワーク6 Oracle Migration System.Data.Entity.SqlServer.SqlFunctionsの代替

ここで、oracleで機能する上記の機能の代替方法が必要です。 私が見つけた多くのGoogleのソリューションは、AsEnumerable()またはToList()を使用してメモリにレコードを取得してから変換を実行しますが、このメソッドはパフォーマンスが良くないため、テーブルに膨大なレコードがあります。他の選択肢?

のLINQクエリの元 - SqlFunctions.StringConvertため

var _IBTFile = from c in DataContext.DB0820205 
       join s in DataContext.DB0820005 on c.ReconcileId equals s.PkId 
       join a in DataContext.DB0820005 on c.ReconcileWithId equals a.PkId 

       where s.status != upoaded && s.ReconciliationOnDate == EntryDate && s.InstrumentNo != 0 
       && c.ReconProcessType == ReconProcessType 
       select new IBTFileUploadVm 
       { 
        PkId = s.PkId, 
        InstrumentNo =System.Data.Entity.SqlServer.SqlFunctions.StringConvert(s.InstrumentNo), 
        LcyAmount = s.FcyAmount, 
        ReconDate = s.ReconciliationOnDate, 
        ReconType = 0, 
        DDDetailsVm = new DB0820002Vm 
        { 
         PkId = a.PkId, 
         PrintedDDNumberString =System.Data.Entity.SqlServer.SqlFunctions.StringConvert(s.InstrumentNo), 
         RemittanceAmount = a.FcyAmount, 
         BranchName = "", 

        }, 
        PostDate = a.PostDate, 
        ValueDate = s.ReconciliationOnDate, 
        db0820205id = c.PkId, 
       }; 
return _IBTFile; 
+0

()私はEFで代替:)を見つけ6.1以降(.tostringサポート)https://stackoverflow.com/a/22479240/4255229 –

答えて

0
System.Data.Entity.DbFunctions this is the alternative for above functions except replicate() and StringConvert() function