我认为LINQ to SQL直接对数据库结构进行建模。如果你有两个表,它就会创建2个对象。
你是否看过LINQ to Entities?它允许你在数据库结构之上创建另一层,以便创建更易读的类。
由于您没有1:1的关系,仅仅进行映射是无法提供所需功能的。但是,在父自动生成的类中提供一个执行此操作的方法非常容易:
public partial class Category
{
public IEnumerable<CategoryDetail> GetDetailsByLanguage(string langID)
{
return this.CategoryDetails.Where(c => c.LangID == langID);
}
}