我是NHibernate和Fluent NHibernate的新手.
假设我有以下情况
Table Activities (uniquidentier ID, varchar ActivityName)
Table ActivityParameters(uniqueidentifier ID, varchar ParameterName,
varbinary(8000) ParameterValue)
Run Code Online (Sandbox Code Playgroud)
和下面的课程
public static Acivity
{
.......
public virtual Guid Id {get; private set;}
public virtual string ActivityName {get; private set;}
public virtual IDictionary<string, object> ActivityParameters {get; private set;}
}
Run Code Online (Sandbox Code Playgroud)
我该如何编写类图?更具体地说,我如何编写活动参数的映射?
我正在尝试创建一个不可变项目的不可变列表。我已经看到并尝试过built_collection 中的BuiltList,现在我看到了List.unmodifying。
它们是否等效,即使用它们我得到相同的结果,即具有不可修改的项目列表?
据我所知,BuiltList 返回一个 Iterable,而 List.unmodifying 返回一个列表。
我有一个带有ThreadStaticSessionContext的多线程NHibernate应用程序。我将每个线程都绑定一个新会话。在退出线程之前,我先提交事务,然后得到
enumerator was modified
at NHibernate.Util.SequencedHashMap.OrderedEnumerator.MoveNext()
at NHibernate.Util.IdentityMap.get_EntryList()
at NHibernate.Util.IdentityMap.ConcurrentEntries(IDictionary map)
at NHibernate.Event.Default.AbstractFlushingEventListener.PrepareEntityFlushes(IEventSource session)
at NHibernate.Event.Default.AbstractFlushingEventListener.FlushEverythingToExecutions(FlushEvent event)
at NHibernate.Event.Default.DefaultFlushEventListener.OnFlush(FlushEvent event)
at NHibernate.Impl.SessionImpl.Flush()
at NHibernate.Transaction.AdoTransaction.Commit()
at ...
Run Code Online (Sandbox Code Playgroud)
我没有头绪...
我在SQL Dependency对象上创建了以下封装:
public class DependencyTracker
{
private SqlDependency _SQLDependency = null;
public string ConnectionString
{ get; private set; }
public string CommandNotifier
{ get; private set; }
public delegate void Refresh();
public event Refresh OnRefresh;
public DependencyTracker(string connectionString, string commandNotifier)
{
ConnectionString = connectionString;
CommandNotifier = commandNotifier;
}
public void StartDependency()
{
SqlDependency.Start(ConnectionString);
}
public void StopDependency()
{
SqlDependency.Stop(ConnectionString);
}
public void TrackForChanges()
{
using (SqlConnection sqlConn = new SqlConnection(ConnectionString))
{
sqlConn.Open();
using (SqlCommand sqlCommand = new SqlCommand(CommandNotifier, sqlConn))
{ …
Run Code Online (Sandbox Code Playgroud) 我尝试将消息放入本地计算机上定义的专用队列中,但队列大小不能超过 8 MB。每次达到该大小后我都会遇到异常。特定队列的大小设置为 10 GB。我运行的是 Windows 7 专业版。是否因此而受到限制?
c# ×2
.net ×1
asp.net ×1
c#-4.0 ×1
dart ×1
flutter ×1
msmq ×1
nhibernate ×1
sql-server ×1
windows-7 ×1