.net Linq到SQL访问“原始”FK列

.net Linq到SQL访问“原始”FK列,.net,linq-to-sql,.net,Linq To Sql,我在处理导航属性时遇到了一个有趣的问题,它在DB中被定义为NOCHECK的外键 基本上,用户记录和用户作为工作产品生成的文档之间的关系是由用户名(即doc.username=user.username)关联的。删除时不检查FK约束,其想法是,如果用户离开组织,文档应保留在后面,并且现在删除的用户名仍存储为作者 在数据库级别,这非常有效;但是,由于关系是通过导航属性定义的,因此我希望显示用户名,但无法显示,因为用户记录为Nothing/null 我的问题是,是否有一种方法可以访问和/或公开LINQ

我在处理导航属性时遇到了一个有趣的问题,它在DB中被定义为NOCHECK的外键

基本上,用户记录和用户作为工作产品生成的文档之间的关系是由用户名(即doc.username=user.username)关联的。删除时不检查FK约束,其想法是,如果用户离开组织,文档应保留在后面,并且现在删除的用户名仍存储为作者

在数据库级别,这非常有效;但是,由于关系是通过导航属性定义的,因此我希望显示用户名,但无法显示,因为用户记录为Nothing/null


我的问题是,是否有一种方法可以访问和/或公开LINQ模型中的原始表列,以便在用户记录不再存在时可以在代码中直接访问它?仅供参考,我使用的是.NET 3.5,但它不能解决一般问题,在这种特殊情况下,您始终可以软删除用户实体。这样你就保持了引用的完整性,如果用户回来了或者有人告诉你删除了错误的用户呢。同意,这将是我通常的方法,而不是硬删除。然而,这是一个传统的应用程序,在这方面的行为由来已久。当然,另一种解决方法是,如果用户记录为null,则手动查询该列的SQL,但这显然不是很优雅。我真的希望有什么办法可以用LINQ把封面拉回来。