Hibernate有一些方法,以这种或那种方式,获取对象并将其放入数据库.它们之间有什么区别,什么时候使用哪个,为什么不存在一个知道何时使用什么的智能方法?
到目前为止我发现的方法是:
save()update()saveOrUpdate()saveOrUpdateCopy()merge()persist()在我目前编写的应用程序中,我处理了很多MySql数据库.我知道我这样做是错误的,所以你不需要告诉我,但我该如何正确地做到这一点?同样,从.Net应用程序处理MySql数据库的正确做法是什么.
在那一刻我使用了一个类,如下所示:
using System;
using MySql.Data.MySqlClient;
namespace WhateverProjectImWorkingOn
{
class MySql
{
public string myConnectionString = String.Format("SERVER={0}; DATABASE={1}; UID={2}; PASSWORD={3}", "8.8.8.8", "foobar", "foo", "barr");
public string Select(string mySqlQuery)
{
MySqlConnection connection = new MySqlConnection(myConnectionString);
MySqlCommand command = connection.CreateCommand();
MySqlDataReader Reader;
command.CommandText = mySqlQuery;
connection.Open();
Reader = command.ExecuteReader();
string thisrow = "";
while (Reader.Read())
{
for (int i = 0; i < Reader.FieldCount; i++)
{
thisrow += Reader.GetValue(i).ToString();
}
}
Reader.Close();
connection.Close();
return thisrow;
}
public void Update(string mySqlQuery)
{
MySqlConnection …Run Code Online (Sandbox Code Playgroud) 我是nhibernate的新手.我正在使用存储库模式开发一个小型的c#应用程序.在我的存储库中,我实现了一个简单的钩子来检测实体何时被保存.我调用实体的事件处理程序来执行实体可能需要的任何操作.
我的问题是,我也使用SaveOrUpdate方法.由于我只需要在保存操作上调用事件处理程序,因此我无法区分SaveOrUpdate调用中的保存或更新.
因此,简而言之,是否有任何简单的方法来确定将执行哪些操作 - 它是保存还是更新?