ProcessedBy
列とuser.Id
の一致するレコードを取得する方法が必要です(dbはまったく同じ文字列を共有しますが、テーブルは異なります)。クラスを文字列に変換してラムダの照合==条件
短く: 'user'はApplicationUserクラスのインスタンスであり、ProcessedByはApplicationUserタイプのLIクラスのプロパティです。 問題:ProcessedBy.ToString()を適用すると、「ApplicationUserを文字列に変換できません」というエラーが発生します。 ProcessedByはIdを直接含むApplicationUserクラスのプロパティであり、userはIDを文字列プロパティとして含むApplicationUserクラスのオブジェクトであり、私の設計ではなく、これを理解する必要があります。 ProcessedByが含まれてい
public static void UpdateFilesProcessedByUser(ApplicationUser user)
{
ApplicationDbContext db = new ApplicationDbContext();
//Cannot convert ApplicationUser ProcessedBy to string, user.Id is a string
IQueryableL<LI> DbQueryGet = db.LIs.Where(l =>
l.ProcessedBy.ToString() == user.Id);
var GetNumberOfFiles = DbQueryGet.ToList().Count();
IQueryable<ApplicationUser> DbQueryUpdate = db.Users.Where(u => u.Id == user.Id);
var GetUser = DbQueryUpdate.ToList();
GetUser[0].FilesProcessed = GetNumberOfFiles;
db.SaveChanges();
}
およびLiクラス:私はあなたの問題、私は最初のものとして、あなたはApplicationuserを変換したい願ってい
理解している場合はここ
[Table("LIs")]
public class LI
{
.
.
.
public virtual ApplicationUser ProcessedBy {get; set;}
}
'ProcessedBy'と' user.Id'のGUIDがありますか? – Poosh
'ProcessedBy'と' Id'はどんな型ですか? –
Idk、私はアイデンティティフレームワークの実装を見ることができませんが、ユーザーオブジェクトのIdプロパティは必ず文字列としてアクセスできます。 'user'はApplicationUserクラスのインスタンスであり、ProcessedByはApplicationUser型のLetterInfoクラスのプロパティです。 –