问题列表 - 第27871页

用于在数据库中存储个人联系人的格式

我正在考虑将个人联系人存储在业务应用程序的数据库中的最佳方法.传统和直接的方法是创建一个包含每个元素列的表,即名称,电话号码,职位,地址等等.但是,有这种数据的已知行业标准,例如vCard,或者是hCard,或者是vCard-RDF/XML,甚至是Windows Contacts XML Schema.使用标准格式可以提供一些好处,例如与其他系统的可操作性.但是,我如何决定使用哪种方法?

要求主要是存储数据.搜索和订购查询的可能性极小,但可能.数据量最多为100,000条记录.

我的数据库引擎支持原生XML列.我一直在考虑使用一些基于XML的格式来存储个人联系人.如果需要搜索和排序,则可以对此数据使用XML索引.这是一个好方法吗?您会为此推荐哪种联系人格式和架构?

在第一个答案后编辑

这就是为什么我认为直截了当的方法很糟糕.这是由于这种数据的性质 - 它并不那么简单.

  1. 个人联系人不是结构良好的数据,它可能被称为半结构化.每个联系人可能有不同的数据字段,甚至可能是我无法预料的字段.在我看来,这些数据的每一部分都应被视为重要信息,即因为数据库中没有相关列,所以不能丢弃任何数据.
  2. 如果我们进一步考虑,假设没有数据丢失,那么我们可以创建一个名为CommentDescriptionOther的大文本列,并将所有不能很好地拟合到表列中的内容放在那里.但话说回来 - 数据会失去结构 - 这可能是坏事.
  3. 如果我们想要结构化数据,那么 - 根据数据库设计原则 - 数据应该被分解为实体,并且应该在实体之间建立关系.但这增加了复杂性 - 实体太多了,应该制定很多设计方案,比如"我们如何存储地址?个人姓名?电话号码?我们如何编码家庭电话号码和手机号码?怎么样?联系信息?"实体之间的关系是复杂的,多个,每个关系都是数据库中的一个表.每个关系都需要在设计文件中记录.这是很多工作要做.但是可以完全避免复杂性 - 只记录根据这样的数据存储数据标准架构,期间.然后,任何阅读该文档的人都应该很容易理解它的全部内容.
  4. 最后,这完全是关于使用行业标准.希望这个标准是由一些聪明的人设计的,他们比以往任何时候都更好地预测和描述了个人联系信息的结构.我们为什么要重新发明轮子?使用标准模式要容易得多.问题是,标准太多了 - 决定使用哪一个并不容易!

database-design contacts

6
推荐指数
1
解决办法
2974
查看次数

如何序列化此.NET Collection项?

我正在尝试将POCO视图数据类xml序列化为xml.它序列化,但错误地生成一些xml.

例如.(目前的结果......不是我追求的那个)

<ReviewListViewData>
    <reviews>
        <review>....</review>
        ...
    </reviews>
</ReviewListViewData>
Run Code Online (Sandbox Code Playgroud)

我想要(注意我是如何删除根节点的?)...

<reviews>
    <review>....</review>
    ...
</reviews>
Run Code Online (Sandbox Code Playgroud)

类被定义为......

public class ReviewListViewData
{
    [XmlArray("reviews")]
    [XmlArrayItem("review")]
    public ReviewViewData[] Reviews { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是一个在ASP.NET MVC ActionMethod中调用的示例方式: -

var reviewListViewData = GetReviewListViewData(...);
return XmlResult(reviewListViewData);  // (XmlResult referenced from MVCContrib).
Run Code Online (Sandbox Code Playgroud)

有人有什么想法吗?

.net c# asp.net-mvc xml-serialization

1
推荐指数
1
解决办法
178
查看次数

如何在一个解决方案中编写Light,Pro,Ultimate三个版本

我想知道如何最好地在VS2008 Professional(包括Web部署项目)中编写三个不同版本的C#ASP.NET 3.5应用程序.我有我的应用程序的Light,Pro和Ultimate版本(或版本).目前我在配置管理器中使用了三个构建版本的所有解决方案,并且我在整个代码中使用预处理器指令(在一万行代码中有大约20个这样的构造,所以它是可以监视的):

#if light
//light code
#endif
#if pro
//pro code
#endif //etc...
Run Code Online (Sandbox Code Playgroud)

我已经在stackoverflow中读了好几个小时,并且想过要遇到微软是如何使用不同的Windows版本来做这件事的,但没有找到我的预期.关于预处理器指令是否是邪恶的,在某个地方有很多讨论.

我喜欢那些#if-directives是:

  • 差异的并排代码,所以我会在六个月后理解不同版本的代码
  • 并且不向客户提供其他版本的编译代码的特殊好处.

好的,详尽的解释,重复的问题:最好的方法是什么?

c# asp.net build visual-studio-2008

8
推荐指数
1
解决办法
203
查看次数

哪个网络服务器与瓶子一起使用?

瓶子可以使用几个网络服务器:

内置HTTP开发服务器,支持paste,fapws3,flup,cherrypy或任何其他支持WSGI的服务器.

我正在使用Bottle作为桌面应用程序,我想在这种情况下开发服务器就足够了.我想知道你们是否有一些替代服务器的经验.

哪个服务器用于哪个目的?

python bottle

23
推荐指数
1
解决办法
1万
查看次数

如何在flex中将特定的datagrid列作为不可排序的?

我试图使用flex 3只使一个datagrid的列可以排序.但是使用sortableColumns所有列都改变了它们的属性......任何解决方案?

apache-flex datagrid flex3 jquery-ui-sortable

0
推荐指数
1
解决办法
377
查看次数

删除QTablewidget中的索引号

如何删除索引号为的列QTableWidget

qt qt4 qt-creator

11
推荐指数
1
解决办法
1万
查看次数

如何在乳胶中垂直和水平居中引用?

我在乳胶的空白页面上有一个引用.我设法将它水平居中,然而,当我试图将它垂直居中时,它给了我一些问题.我试过了

\vspace{}
\begin{quote}
\centering
quote
\end{quote}
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

latex vertical-alignment centering

16
推荐指数
1
解决办法
3万
查看次数

创建文件夹时出错

我正在尝试创建这样的文件夹

$destination = "../folder_name/_pcode/../_compile";
mkdir($destination);
Run Code Online (Sandbox Code Playgroud)

但这会给出错误

UPDATE 我在做什么,同时../folder_name/_pcode从用户输入,我想向外界创建一个文件夹_pcode目录

这是我的错误

Warning: mkdir() [function.mkdir]: No such file or directory in G:\wamp\www\tools\compile.php on line 57
../folder_name/_pcode/../_compile
Run Code Online (Sandbox Code Playgroud)

php directory

0
推荐指数
1
解决办法
142
查看次数

Hibernate:如何调用返回varchar的存储函数?

我试图使用Hibernate从Java调用Oracle9i数据库中的遗留存储函数.该函数声明如下:

create or replace FUNCTION Transferlocation_Fix (mnemonic_code IN VARCHAR2)
   RETURN VARCHAR2
Run Code Online (Sandbox Code Playgroud)

经过几次失败的尝试和广泛的谷歌搜索后,我在Hibernate论坛上发现了这个线程,它提出了这样的映射:

<sql-query name="TransferLocationFix" callable="true">
    <return-scalar column="retVal" type="string"/>
    select Transferlocation_Fix(:mnemonic) as retVal from dual
</sql-query>
Run Code Online (Sandbox Code Playgroud)

我执行它的代码是

    Query query = session.getNamedQuery("TransferLocationFix");
    query.setParameter("mnemonic", "FC3");
    String result = (String) query.uniqueResult();
Run Code Online (Sandbox Code Playgroud)

结果日志是

DEBUG (org.hibernate.jdbc.AbstractBatcher:366) -  - about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
DEBUG (org.hibernate.SQL:401) -  - select Transferlocation_Fix(?) as retVal from dual
TRACE (org.hibernate.jdbc.AbstractBatcher:484) -  - preparing statement
TRACE (org.hibernate.type.StringType:133) -  - binding 'FC3' to parameter: 2
TRACE (org.hibernate.type.StringType:133) …
Run Code Online (Sandbox Code Playgroud)

java oracle stored-procedures hibernate

5
推荐指数
2
解决办法
3万
查看次数

DataAnnotations验证和自定义模型绑定器

我有一个接受以下模型的action方法 - LanguagesViewModel:

public class LanguagesViewModel : ViewModelBase
{
 IEnumerable<LanguageItem> Languages { get; set; }
}

public class LanguageItem
{
 [Required]
 public int LanguageId { get; set; }

 [Required]
 public int SpeakingSkillId { get; set; }

 [Required]
 public int WritingSkillId { get; set; }

 [Required]
 public int UnderstandingSkillId { get; set; } 
}
Run Code Online (Sandbox Code Playgroud)

我还有一个自定义模型绑定器将POST数据绑定到IEnumerable<LanguageItem>.

问题是我如何使DataAnnotations验证工作?

custom-model-binder data-annotations asp.net-mvc-2

2
推荐指数
1
解决办法
1484
查看次数