我有一个"笔记"表.Notes支持一级线程 - 换句话说,您可以回复一个注释,但无法回复另一个回复.所以表格如下所示:
CREATE TABLE [dbo].[Notes] (
[NoteId] [uniqueidentifier] ROWGUIDCOL NOT NULL DEFAULT (newid())
CONSTRAINT [PK__Notes]
PRIMARY KEY ([NoteId]),
[ParentNoteId] UNIQUEIDENTIFIER NULL,
[NoteText] NVARCHAR(MAX) NOT NULL,
[NoteDate] DATETIME NOT NULL
)
Run Code Online (Sandbox Code Playgroud)
所以我使用Subsonic活动记录来获取所有"父"笔记:
var allNotes = (from n in Note.All()
where n.ParentNoteId == null
orderby n.NoteDate descending
select n)
.Skip((pageIndex - 1) * pageSize).Take(pageSize);
Run Code Online (Sandbox Code Playgroud)
接下来,我只循环遍历IQueryable并填写注释Guids的通用列表:
List<Guid> noteList = new List<Guid>();
foreach (var note in allNotes)
{
noteList.Add(note.NoteId);
}
Run Code Online (Sandbox Code Playgroud)
最后,我试图构建一个查询来获取原始查询中的所有回复:
replies = from n in Note.All()
where n.ParentNoteId != null && noteList.Contains(n.ParentNoteId.Value) …Run Code Online (Sandbox Code Playgroud) 假设我有以下代码:
trait Trait1 {
trait Inner {
val name = "Inner1"
}
}
trait Trait2 {
trait Inner {
val name = "Inner2"
}
}
class Foo extends Trait1 with Trait2 {
// I want Concrete1 to be a Trait1.Inner not a Trait2.Inner
class Concrete1 extends Inner
val c = new Concrete1
}
object Obj {
def main(args: Array[String]): Unit = {
val foo = new Foo
println(foo.c.name)
}
}
Run Code Online (Sandbox Code Playgroud)
当我在混合Trait1和Trait2,指的Inner似乎默认为Inner取其特点我混入第二类型; 所以当我打电话 …
我使用NHibernate设置了存储库模式.基类如下所示:
public interface IUnitOfWork : IDisposable
{
void Commit();
void Rollback();
}
// generic NHibernate implementation of IUnitOfWork here
public class NHibernateRepositoryBase<T> : IRepository<T>
{
private NHibernateUnitOfWork _unitOfWork;
public NHibernateRepositoryBase(NHibernateUnitOfWork unitOfWork)
{
_unitOfWork = unitOfWork;
}
public T Get(object id)
{
return _unitOfWork.Session.Get<T>(id);
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我允许通过构造函数(使用StructureMap)填充工作单元.我正在填充ASP.NET Web服务上的存储库对象,如下所示:
[WebService(Namespace = "...")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class ModuleService : System.Web.Services.WebService
{
public IUserAccountRepository UserAccountRepo { get; set; }
public ModuleService()
{
// tell IoC to inject properties
ObjectFactory.BuildUp(this);
}
// …Run Code Online (Sandbox Code Playgroud) 有没有办法导入Visual Studio TFS工作区,我有超过30个工作区,我需要将它们导入到新机器上的TFS.谢谢
我可以在运行时锁定/解锁字段或对象以防写入吗?换句话说,就像在运行时临时将对象更改为只读一样......
例如:
int x = 5; // x is 5
LockObject(x);
x = 7; // no change
UnlockObject(x);
x = 10; // x is 10
Run Code Online (Sandbox Code Playgroud)
如果没有,你能给我一些可能的解决方案吗?
我正在尝试第一次使用Telerik拼写检查文本框,但我不断收到"拼写检查处理程序服务器错误:500""没有加载字典.从拼写检查设置设置字典路径属性或复制字典至....."
我怎么做到这一点?
<td align="left">
<telerik:RadTextBox
ID="RadTextBoxDescInj" runat="server" Width="200" Height="100" TextMode="MultiLine" >
</telerik:RadTextBox>
</td>
<td>
<telerik:RadSpell ID="RadSpell1" runat="server" ButtonType="LinkButton" ControlToCheck="RadTextBoxDescInj" DictionaryLanguage="English" SpellCheckProvider="PhoneticProvider" />
</td>
Run Code Online (Sandbox Code Playgroud) 我正在构建一个插件,并将一个条目添加到上下文菜单中(在项目树中的文件夹上单击鼠标右键)。
到目前为止,可以按照本教程进行操作:http : //www.eclipse.org/articles/article.php? file = Article-JFaceWizards/ index.html
问题在于它将我的条目添加到上下文菜单的根目录中。由于我的输入涉及“ New XXX”向导,因此我希望它转到“ New”子菜单。
似乎我必须在我的plugin.xml中设置正确的locationURI或menuPath。但是我找不到对应于该子菜单的locationURI或menuPath。我怎么能找到那个?
问题:我有一个非常大的POD变量结构,我需要复制一些字段,而不是其他字段.太懒了写下逐个成员的复制功能.
解决方案:将可复制字段移动到基础,分配基础.像这样:
struct A
{
int a, b, c;
};
struct B : public A
{
int d, e, f;
};
//And copy:
B x, y;
(A&)x = y; //copies the part of B that is A
Run Code Online (Sandbox Code Playgroud)
现在,这很脏,我知道.我与同事们进行了一场生动,激烈的讨论:这段代码,我的能力和道德品质.然而,我听到的最难的具体指控是"d,e,f没有在副本中初始化".是的我知道; 这是意图.当然我在其他地方初始化它们.
另一项指控是"不安全的类型转换".但这是对基类的保证安全的类型转换!几乎就是这样
((A*)&x)->operator=(b);
Run Code Online (Sandbox Code Playgroud)
但不那么冗长.推导是公开的; 因此将B视为A是公平的游戏.据我所知,没有未定义的行为.
所以,我呼吁SO的集体智慧.这是批评的邀请.人们,去吧.
编辑:片段的最后一行可以通过多种方式扩展为不那么令人反感的代码.例如:
void Copy(A& to, const A& from)
{
to = from;
}
B x, y;
Copy(x, y);
Run Code Online (Sandbox Code Playgroud)
功能相同.或者像这样:
x.A::operator=(y);
Run Code Online (Sandbox Code Playgroud)
编辑2:除了我,没有维护程序员.这是一个爱好项目.所以不要怜悯那个可怜的灵魂.
我想知道是否有一种非编程方式使log4j在运行时了解配置上的更改.我知道我可以使用
static {
PropertyConfigurator.configureAndWatch("log4j.properties", 100);
}
Run Code Online (Sandbox Code Playgroud)
在一些有用的地方观看属性文件的变化,但我更喜欢属性文件本身的一个选项,告诉log4j监视更改.有吗?