我正在尝试设计一个数据模型,表示一个用户是另一个用户的朋友.这是我到目前为止所提出的,但它似乎很笨重,有更好的解决方案吗?
User
=====
Id
Name
etc...
UserFriend
===========
UserId
FriendId
IsMutual
IsBlocked
Run Code Online (Sandbox Code Playgroud) 我有以下表格:
Order
----
ID (pk)
OrderItem
----
OrderID (fk -> Order.ID)
ItemID (fk -> Item.ID)
Quantity
Item
----
ID (pk)
Run Code Online (Sandbox Code Playgroud)
如何编写一个可以选择Orders至少85%与特定类似的查询的查询Order?
我考虑使用Jaccard Index统计来计算两者的相似性Orders.(通过取每组的交集OrderItems除以每组的并集OrderItems)
但是,如果没有为每个可能的两个组合存储计算的Jaccard Index,我就无法想到这样做的方法Orders. 还有另外一种方法吗?
另外,有没有办法将Quantity每个匹配的差异包括OrderItem在内?
附加信息:
总计Orders:~79k
总计OrderItems:约1.76m
Avg.OrderItems每Order:21.5
总计Items:~13k
注意
85%的相似性数字只是对客户实际需求的最佳猜测,它可能在未来发生变化.适用于任何相似性的解决方案将是更可取的.
你能建议一些轻量级模糊文本搜索库吗?
我想要做的是允许用户使用拼写错误找到搜索字词的正确数据.
我可以使用像Lucene这样的全文搜索引擎,但我认为这是一种过度杀伤力.
编辑:
为了使问题更清楚,这里是该库的主要场景:
我有一个很大的字符串列表.我希望能够在此列表中搜索(类似于MSVS的intellisense)但是应该可以通过字符串过滤此列表,该字符串不存在于其中,但足够接近列表中的某个字符串.
例:
当我在文本框中输入'Gren'或'Geen'时,我想在结果集中看到'Green'.
索引数据的主要语言是英语.
我认为Lucene对于这项任务非常重要.
更新:
我找到了一个符合我要求的产品.这是ShuffleText.
你知道其他选择吗?
我正在尝试以编程方式从任何.net类型生成xs:schema.我知道我可以使用反射并通过迭代公共属性来生成它,但是有内置的方法吗?
例:
[Serializable]
public class Person
{
[XmlElement(IsNullable = false)] public string FirstName { get; set; }
[XmlElement(IsNullable = false)] public string LastName { get; set; }
[XmlElement(IsNullable = true)] public string PhoneNo { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
期望的输出:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Person" type="Person" />
<xs:complexType name="Person">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" form="unqualified" name="FirstName" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" form="unqualified" name="LastName" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" form="unqualified" name="PhoneNo" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:schema>
Run Code Online (Sandbox Code Playgroud) 我正在尝试查找代码或预先打包的控件,它采用对象图并在TreeView中显示属性的公共属性和值(递归).即使是一个天真的实现也没关系,我只需要一些东西开始.
解决方案必须是WPF,而不是winforms或com等...
我需要从Mercurial下载源代码.
$ hg clone xmppframework.googlecode.com/hg xmppframework
warning: xmppframework.googlecode.com certificate with fingerprint b1:af:83:76:f3:81:b0:57:70:d8:07:42:c8:c1:b3:67:38:c8:7a:bc not verified (check hostfingerprints or web.cacerts config setting)
requesting all changes
adding changesets
adding manifests
adding file changes
Run Code Online (Sandbox Code Playgroud)
我在终端尝试使用此链接下载源代码.但命令失败.
任何人都可以帮我摆脱这个.
感谢所有人,Madan.
在回答之前,这个问题很复杂:
我们要做的就是在我们的UI中创建一个MESS,通过编写一堆JavaScript来处理不同上下文中的相同功能.我知道我可以使用JavaScript文件+面向对象的JavaScript,我正在寻找使这一切变得更容易的模式.
提出的一个解决方案是在客户端和服务器端都有一个MVC模型,我们可以在客户端控制器中封装JavaScript功能,然后在站点的不同部分使用它们.但是,这意味着我们有2个MVC实现!
这有点矫枉过正吗?您将如何扩展此解决方案?还有哪些其他解决方案?
我最近的任务是将日志语句添加到解决方案中的每个方法调用.这些日志条目需要包含类和方法名称.
我知道我可以使用MethodBase.GetCurrentMethod()和StackFrame.GetMethod()方法.哪个更好?是否有更好(或更高性能)的方法来获取类和方法名称?
我的一些朋友和同事进行了一些竞赛,以找到或写出可能的最长的类/变量/属性/方法名称.请记住,我们努力成为优秀的男孩和女孩,并保持命名可理解和简洁,同时仍然通过其名称解释事情的作用.
有时候它不会发生.你参加过这个吗?我只想看看那里有什么.(也许我的朋友和我并不像我们想象的那样疯狂)
注意:我不是在寻找糟糕的命名.那已经在这里了.我正在寻找有点长的好命名.
这个有点深奥.尝试在visual studio 2008中的winforms项目中打开表单(在winforms设计器中)时遇到了NullReferenceException.堆栈跟踪指向以下代码的第四行:
public static class Logger
{
public static void LogMethodEnter()
{
var frame = new StackFrame(1);
var method = frame.GetMethod();
Trace.TraceInformation("{0}.{1}.{2}()", method.DeclaringType.Namespace, method.DeclaringType.Name, method.Name);
Trace.Indent();
}
public static void LogMethodExit()
{
Trace.Unindent();
}
}
Run Code Online (Sandbox Code Playgroud)
...意思是开口大括号的线条.我在其他项目中遇到了同样的问题(但不涉及winforms设计器),我认为这是一个与线程相关的问题,但我没有代码来复制它.
为什么会发生这种情况,为什么异常堆栈跟踪指向带有花括号的行?
澄清:空引用异常仅发生在winforms设计器中.运行应用程序时,它不会抛出该错误.
c# ×4
.net ×1
algorithm ×1
asp.net-mvc ×1
class-names ×1
fuzzy-search ×1
javascript ×1
logging ×1
mercurial ×1
naming ×1
reflection ×1
sql ×1
sql-server ×1
static ×1
treeview ×1
winforms ×1
wpf-controls ×1
xml ×1