3

MySql と Entity Framework Code First に問題があります。

web.config.xml の接続文字列

<add name="EntityContext" connectionString="Server=127.0.0.1; port=8080 Database=simple_crud; Uid=root; Pwd=;" providerName="MySql.Data.MySqlClient" />

私のコンテキスト:

public class EntityContext : DbContext
{
    public DbSet<Pessoa> Pessoas { get; set; }
}

私のクラス:

[Table("pessoa")]
public class Pessoa
{
    [Key]
    [Column("Id")]
    public int Id { get; set; }

    [Column("Nome")]
    public string Nome { get; set; }
}

私のコントローラー

public EntityContext db = new EntityContext();

public ActionResult Index()
{
     List<Pessoa> pessoas = db.Pessoas.ToList(); // here is the error
     return View(pessoas);
}

そのため、F5 を押すと、「入力文字列が正しい形式ではありませんでした」というメッセージが表示されました。

私が恋しいのは何ですか?

アップデート

スタックトレース:

[FormatException: 入力文字列が正しい形式ではありませんでした。]
System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +9591147 System.Number.ParseUInt32(String value, NumberStyles options, NumberFormatInfo numfmt ) +119
System.String.System.IConvertible.ToUInt32(IFormatProvider プロバイダー) +46 System.Convert.ChangeType(オブジェクト値、型変換タイプ、IFormatProvider プロバイダー) +9509065
MySql.Data.MySqlClient.MySqlConnectionStringBuilder.ChangeType(オブジェクト値、型 t )
+240 MySql.Data.MySqlClient.MySqlConnectionStringBuilder.SetValue(文字列キーワード、オブジェクト値) +399
MySql.Data.MySqlClient.MySqlConnectionStringBuilder.set_Item(文字列キーワード、オブジェクト値) +54
System.Data.Common.DbConnectionStringBuilder.set_ConnectionString(文字列値) +127
MySql.Data.MySqlClient.MySqlConnection.set_ConnectionString(文字列値) +289
System.Data.Entity.Internal.LazyInternalConnection.TryInitializeFromAppConfig(文字列名) +409
System.Data .Entity.Internal.LazyInternalConnection.Initialize() +49
System.Data.Entity.Internal.LazyInternalConnection.get_ConnectionHasModel() +10 System.Data.Entity.Internal.LazyInternalContext.InitializeContext() +265 System.Data.Entity.Internal. InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) +17
System.Data.Entity.Internal.Linq.InternalSet 1.GetEnumerator() +15 System.Data.Entity.Infrastructure.DbQuery 1..ctor(IEnumerable1.Initialize() +62
System.Data.Entity.Internal.Linq.InternalSet

1.System.Collections.Generic.IEnumerable<TResult>.GetEnumerator() +40 System.Collections.Generic.List1 collection) +315 System.Linq.Enumerable.ToList(IEnumerable1 ソース) +58 SimpleMysqlCrud.Controllers.PessoaController.Index() in f:\users\pablo.rocha.fti\documents\visual studio 2010\Projects\SimpleMysqlCrud\SimpleMysqlCrud\Controllers\PessoaController.cs:16 lambda_method(Closure , ControllerBase , Object[] ) +62
System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase コントローラー、Object[] パラメーター) +17
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext、IDictionary 2 パラメーター) +27 System.Web. Mvc.<>c_ DisplayClass15.b _12() +55 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter フィルター、ActionExecutingContext preContext、Func 1 フィルター、ActionDescriptor actionDescriptor、IDictionary2 parameters) +208
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary

1 continuation) +263
System.Web.Mvc.<>c__DisplayClass17.<InvokeActionMethodWithFilters>b__14() +19 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList
2 parameters) +191
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +343
System.Web.Mvc.Controller.ExecuteCore() +116
System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +97 System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +10
System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +37
System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +21
System.Web.Mvc.Async.<>c__DisplayClass8
1.b__7(IAsyncResult ) +12 System.Web.Mvc.Async.WrappedAsyncResult`1.End() +62 System.Web.Mvc.<> c_DisplayClasse.b_d () +50
System.Web.Mvc.SecurityUtil. b
_0(アクション f) +7 System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(アクション アクション) +22 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +60
System.Web.Mvc.MvcHandler.System.Web. IHttpAsyncHandler.EndProcessRequest(IAsyncResult 結果) +9
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +8970141 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +184

4

2 に答える 2

2

すべてのコメントを回答にまとめます。

port=3306 の後にセミコロンを追加します。mysqlリスニングポートを確認してください(おそらく3306、mysqlのデフォルトですか?)。結果の接続文字列:

<add name="EntityContext" connectionString="Server=127.0.0.1; port=3306; Database=simple_crud; Uid=root; Pwd=;" providerName="MySql.Data.MySqlClient" />
于 2013-01-16T15:37:25.623 に答える