У меня есть ситуация, когда у меня есть две базы данных, одна база данных Oracle, а другая сервер SQL. В оракуле у меня есть по крайней мере 300K, а в sql server у меня 400K запись Я хочу проверить, существуют ли данные Oracle на сервере SQL или нет. Я пытался использовать для каждого метода, где я проверяю каждую запись в Oracle, если существуют на сервере SQL, и это заняло много времени. Я спрашиваю вас, если другой метод даст мне тот же результат. Я использую LINQ для запросов
conn.Open();
cmd = new OdbcCommand()
{
Connection = conn,
CommandText = "select c_id, c_name,c_dob,c_email,c_pnumber from customers"
CommandType = CommandType.Text
};
OdbcDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
var customers = _db.tblCustomers.FirstOrDefaulst(x
=>x.C_ID.Equals(dr.GetValue(0))
if(customers !=null)
{
//do something
}
else
{
tblCustomers customer = new tblCustomers {
C_name = Convert.ToString(dr.GetValue(1)),
C_dob = Convert.ToString(dr.GetValue(2)),
C_email = Convert.ToString(dr.GetValue(3)),
C_pnumber = Convert.ToString(dr.GetValue(4))
}
}
}
P.S .: Это просто для добавления нового клиента, но у меня есть другой код с той же логикой для обновления записей, и я должен запускать эти методы каждый день
Запрос на добавление новой записи
var customers = _db.tblCustomers.FirstOrDefaulst(x
=>x.C_ID.Equals(dr.GetValue(0))
Запрос на обновление существующей записи
var customers = _db.tblCustomers.FirstOrDefaulst(x
=>x.C_ID.Equals(dr.GetValue(0)) && x.c_name == dr.GetValue(1) )