日期:2014-05-20  浏览次数:20787 次

Membership结合linq作为数据库对象,如何整合?
我重写了MemberProvider的CreateUser,方法为CreateUser(Member mem)
然后在MVC的Create方法中直接使用Membership.CreateUser(mem),它仍然提示说不符合原来的那个CreateUser方法的参数数量

我的问题是,如何强制调用我重写的CreateUser方法?

另外,我考虑很可能是我从一开始的架构整合的就不对,所以请老师们告诉我下,这个Membership和Linq To SQL到底要怎么弄才能弄到一起使用?

我的要求是只有一个用户表,不使用membership自动生成的那些表,功能就是增删改查,Modal要用Linq To SQL可能实现么?如何做?
MVC3
MVC3 Membership Linq?To?SQL linq

------解决方案--------------------
“重载了MembershipProvider的CreateUser函数”,那么你可以这么改。
在web.config里面有这么一段
<membership defaultProvider="DefaultMembershipProvider">
      <providers>
        <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
      </providers>
    </membership>
默认指定的是微软的实现。改成自己的实现就行了。


“但是我想把它的参数改变”,参数改变了就不叫重载了,没办法用默认的方式(Membership相关控件)调用,需要从System.Configuration.Provider.ProviderBase开始,定义自己的MembershipProvider。基本上就是重新开始了。而你的业务需求很简单,根本没必要花费大量时间去实现自己的membership。