我们有应用程序应该在sql server和oracle上工作。我们在所有应用程序中都使用了Sql函数。现在我们正在迁移到oracle。 下面是我们使用的Sql函数。
SqlFunctions.StringConvert()
SqlFunctions.DateAdd()
SqlFunctions.Replicate()
SqlFunctions.DateDiff()
现在我们需要替代以上与oracle一起使用的函数。 谷歌很多我发现的解决方案是 - 使用AsEnumerable()或ToList()获取内存中的记录然后进行转换,但这种方法不利于性能,因为我们在表中有大量记录。还有其他选择吗?
Linq查询前 -
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 :(得分:0)
System.Data.Entity.DbFunctions this is the alternative for above functions except replicate() and StringConvert() function