mysql - EntityObject 上的 Convert.ChangeType()

标签 mysql entity-framework entityobject

我正在使用 .Net Connector 6.3.6 处理 MySQL,并在 VS 2010 上创建实体模型。我打算编写一个通用方法,将 EntityObject 添加到其对应的表中。这是它的样子:

    public void AddToTable(ObjectContext dataContext, string tableName, EntityObject tableObj)
    {
                try
                {                        
                    Type type = dataContext.GetType();
                    string methodName = "AddTo" + tableName;
                    MethodInfo methodInfo = type.GetMethod(methodName);
                    PropertyInfo propInfo = dataContext.GetType().GetProperty(tableName);
                    Object[] parameters = new Object[] { Convert.ChangeType(tableObj, propInfo.PropertyType) };
                    methodInfo.Invoke(dataContext, parameters);
                }
                catch (Exception e)
                {

                  edit://gonna handle it appropriately here!
                }  
     }

ObjectContext 将是实际的 ObjectContext 类。 但是,当我在 EntityObject 上使用 Covert.ChangeType() 时,出现异常提示“对象必须实现 IConvertible”。 如何克服这个问题? 编辑:仅供引用,我的主要目的是编写一个尽可能通用的方法,这样就不需要强制转换为特定的表类型。

谢谢, 警报器

最佳答案

您正在重新发明轮子。

 public void AddToTable<TEntity>(ObjectContext dataContext, TEntity tableObj)
 {
     dataContext.CreateObjectSet<TEntity>().AddObject(tableObj);
 }

请不要吃异常。

关于mysql - EntityObject 上的 Convert.ChangeType(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5166005/

相关文章:

php - 数据库图库数组

c# - Code First ASP.NET MVC 应用程序,未调用种子方法

c# - SQL LINQ 选择标题和属于该标题的列表

asp.net - EF 函数导入无法识别 StoredProc 返回的列

domain-driven-design - 值与实体对象(领域驱动设计)

c# - Linq to sql插入附加的实体对象

mysql - 比较 SQL 中特定条目的日期范围

mysql - 不为空时更新字段

php - 如何创建插入表,其中部分数据来自一张表,其余数据已填充