使用SQLMetal的LINQ到SQL中的OneToOne关系(基数)

使用SQLMetal的LINQ到SQL中的OneToOne关系(基数),sql,linq-to-sql,sqlmetal,Sql,Linq To Sql,Sqlmetal,使用SQLMetal生成dbml时,是否有可能设置OneToOne关系(基数)?默认情况下,使用OneToMany关系生成的dbml模式。是否使用dbml设计器?如果是这样,您应该能够右键单击表示关系的箭头并选择“属性”。然后可以在properties对话框中将Cardinality属性设置为OneToOne。我使用SqlMetal生成Dbml文件,然后使用xslt修改其内容(使用此xslt基:),例如更改基数或更改枚举的类型。关系是否指向两个表上的主键?或者辅助表是否有不同的主键,并且关系将指

使用SQLMetal生成dbml时,是否有可能设置OneToOne关系(基数)?默认情况下,使用OneToMany关系生成的dbml模式。

是否使用dbml设计器?如果是这样,您应该能够右键单击表示关系的箭头并选择“属性”。然后可以在properties对话框中将Cardinality属性设置为OneToOne。

我使用SqlMetal生成Dbml文件,然后使用xslt修改其内容(使用此xslt基:),例如更改基数或更改枚举的类型。

关系是否指向两个表上的主键?或者辅助表是否有不同的主键,并且关系将指向外键列?关系指向两个表上的主键。是的,我可以使用DBML designer,但我想自动化此过程!如果您希望所有关系都是OneToOne,您可以编写一个描述脚本来解析
关联
元素的DBML文件(只是XML),并向每个元素添加一个属性
Cardinality=“One”
。在我的例子中,我只需要两个关系就可以是OneToOne。但无论如何,我似乎都会编写某种脚本。谢谢,我将尝试您的方法。而且,似乎linq2sql确实支持双方的primarykey引用,所以只需创建一个引用(就像一个普通的一对多关系)并将该关联设置为Cardinality one。