PetaPoco.Core.ttinclude修改

本文介绍了使用ORM方式在不同数据库中进行操作的方法,包括获取主键列、判断记录是否存在等实用功能,并展示了针对Oracle数据库的一些特定修改。

/// <summary>
/// Adds the singular rule.
/// </summary>
/// <param name="rule">The rule.</param>
/// <param name="replacement">The replacement.</param>
private static void AddSingularRule(string rule, string replacement) {
//_singulars.Add(new InflectorRule(rule, replacement));
}

 

 mysql:

public Column PK
{
get
{
if(this.Columns.Count>1)
{
return this.Columns[0];
}
else
{
return this.Columns.SingleOrDefault(x=>x.IsPK);
}
}
}

public static bool Exists(object primaryKey) { return repo.Exists<T>(primaryKey); }
public static bool Exists(string sql, params object[] args) { return repo.Exists<T>(sql, args); }
public static bool Exists(Sql sql) { return repo.Exists<T>(sql); }

 

 

 

OracleSchemaReader修改

//col.PropertyType=GetPropertyType(rdr["DataType"].ToString(), (rdr["DataType"] == DBNull.Value ? null : rdr["DataType"].ToString()));
col.PropertyType=GetPropertyType(rdr["DataType"].ToString(), (rdr["DATASCALE"] == DBNull.Value ? "" : rdr["DATASCALE"].ToString()));
//col.IsNullable=rdr["IsNullable"].ToString()=="YES";
col.IsNullable=rdr["IsNullable"].ToString()=="Y";
col.IsAutoIncrement=true;

if (sqlType.ToLower() == "number" && dataScale == "0")
return "int";

 

 

//修改
//cmd.GetType().GetProperty("BindByName").SetValue(cmd, true, null);
PropertyInfo bindByNameInfo = cmd.GetType().GetProperty("BindByName");

 

//修改
tbl.SequenceName=tbl.Name+"_SEQUENCE";

转载于:https://www.cnblogs.com/zwei1121/p/3962744.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值