我正在使用Massive micro-orm和sql Server 2008R2与.NET framework 4.0.
// This is my model public class sUser : DynamicModel { public sUser() : base(Model.strConnection,"Users","UserId") { } }
还有另一课……
using System; using System.Data; using System.Data.sqlClient; using System.Linq; using System.Web; using System.Xml; using System.Dynamic; using System.Collections.Generic; using Massive; public class Test { public dynamic GetUser(string uName) { dynamic table = new sUser(); var objUser = table.FindBy(UserName: uName); //Tried following... //var objUser = new sUser().All().Where(u => u.UserName.ToString() == uName).FirstOrDefault(); //var objUser = new sUser().All().Where(u => u.UserName.ToString().Equals(uName)).FirstOrDefault(); return objUser; } public void GetSomething(dynamic testObj,string user) { dynamic User = GetUser(user); //testObj.CUser = User["FirstName"] + ' ' + User["LastName"]; //Would like to access User object like //User.FirstName or User["FirstName"] //And not like this... foreach (var item in User) { testObj.CUser = item.FirstName + ' ' + item.LastName; } } }
我想访问用户动态对象,如User.FirstName或User [“FirstName”].
有可能,或者我错过了什么?
任何输入都非常感谢.
谢谢.
解决方法
您将不得不使用First方法而不是findby
他们你将能够访问这样的属性:
testObj.CUser = User.FirstName + User.LastName;
完整的工作控制台应用
class Program { static void Main(string[] args) { dynamic testObj = new ExpandoObject(); test t = new test(); t.GetSomething(testObj,"TestUserName"); Console.WriteLine(testObj.CUser); Console.ReadLine(); } } public class test { // This is my model public class sUser : DynamicModel { public sUser() : base("test","UserId") { } } public void GetSomething(dynamic testObj,string user) { dynamic User = GetUser(user); testObj.CUser = User.FirstName + User.LastName; } public dynamic GetUser(string uName) { dynamic table = new sUser(); var objUser = table.First(UserName: uName); return objUser; } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。