2012-07-10 29 views
1

我正在使用Entity.GetModifiedMembers()記錄實體的更新值。但是由於存在查找值,修改的成員被視爲相關的查找ID。使用GetModifiedMembers查找值進行Linq-to-sql記錄

爲了讓客戶從日誌記錄視圖看到用戶友好的視圖,我希望獲取更新的屬性「名稱」值而不是標識。

例子:

//Entities 
public class User 
{ 
    Id { get; set; } 
    Name { get; set; } 
    FacultyId { get; set; } 
} 

public class UserFaculty 
{ 
    Id { get; set; } 
    Name { get; set; } 
} 

//Update Operation 
public UpdateSomething 
{ 
    var user = GetUser(); 
    user.FacultyId = SomeFacultyId; 

    //Log operation 
    Log(Entity.User.GetModifiedMembers()); 
    Entity.SubmitChanges(); 
} 

日誌查看:

Updated Entity | Updated Field | Original Value | New Value 
User    FacultyId  3    SomeFacultyId 

取而代之的是上述觀點的,我想有一個像下面一個觀點:

Updated Entity | Updated Field | Original Value | New Value 
User    FacultyId  OldFacultyName SomeFacultyName 

我開建議。我並沒有要求在這一點之後採用確切的方式,如果任何一點不是最優的,那麼我希望聽到我要去的每一個方面都是錯誤的。

回答

0

您需要在您的linq類中公開一個方法,該方法將SomeFacultyID作爲輸入並返回FacultyName。

+0

實際上有點多漂亮,所以我得到了對象的類型,並做了一個查找函數,做你建議的事情。這樣,我猜想它更像是一個通用句柄。 – 2012-08-01 09:52:47