我正在使用Entity Framework 5.0和Oracle 11g数据库开发ASP.NET应用程序。我也使用Oracle Membership,我有ORA_ASPNET_USERS
表,用于存储用户信息。
我的问题是,当我尝试通过Guid查询用户时(例如:“{d19b8b68-cc4f-5449-9ba6-ac2573f34bcc}”)没有找到结果,因为在Oracle数据库中,此Guid存储为“688B9BD14FCC49549BA6AC2573F34BCC” 。
我可以使用以下代码将Guid转换为Oracle RAW:
var id = BitConverter.ToString(guid.ToByteArray()).Replace("-", "");
但是当我尝试使用EF查询用户时,我必须在我的业务对象中这样做:
var result = GetQueryable().Where(w => w.USERID == id).Single();
和USERID
是Guid
的一种类型,我无法使用id(类型string
)查询它。
当我没有将guid转换为字节数组时,没有找到结果。
有没有人有同样的问题?我怎么解决呢?