扩展数据库架构
在数据库的使用周期中类型的定义可能会改变NDatabase提供了重构管理接口可以扩展数据库架构使用IRefactorManager可以重命名类型名称和字段名称以及增加和删除字段如下列代码
using (var odb = OdbFactoryOpen(Refactoringodb))
{
var refactorManager = odbGetRefactorManager()
refactorManagerRenameField(typeof(User) age _age)
refactorManagerRenameField(typeof(User) name _name)
}
自定义日志接口
节中提到了日志的配置可以自定义日志类注册后使用如下所示
public class LogNetLogger : ILogger
{
private static readonly ILog Log = LogManagerGetLogger(typeof (ILogger))
#region Implementation of ILogger
public void Warning(string message)
{ LogWarn(message) }
public void Debug(string message)
{ LogDebug(message)}
public void Info(string message)
{ LogInfo(message) }
public void Error(string message)
{ LogError(message)}
public void Error(string message Exception t)
{
LogError(message)
LogErrorFormat(Error: {} exception: {} tMessage t)
}
#endregion
}
异常处理
NDatabase使用内部的异常处理类型来处理错误以下是NDatabase中的异常类型
BTreeException
BTreeNodeValidationException
DuplicatedKeyException
CorruptedDatabaseException
LinqQueryException
非持久属性
如果有一些属性不想保存到数据库可以使用[NonPersistent]属性
实际使用的几个例子
使用之前当然要先有实体类例子的实体类采用最简单的这里有些地方就不写出来了
个保存对象的例子
先看简单的
var sport = new Sport(volleyball)
using (var odb = OdbFactoryOpen(TutorialDbMinName))//打开数据库
odbStore(sport)
[] [] []