private void CreateDBAdapterFieldAndProperty (CodeTypeDeclaration t, DbDataAdapter adapter) { CodeExpression expr; CodeStatement setStmt; CodeStatement stmt; CodeMemberField f = new CodeMemberField (); f.Name = "_adapter"; f.Type = TypeRef (adapter.GetType ()); t.Members.Add (f); CodeMemberProperty p = new CodeMemberProperty (); p.Name = "Adapter"; p.Attributes = MemberAttributes.Private; p.Type = f.Type; p.HasSet = false; expr = FieldRef ("_adapter"); setStmt = Eval (MethodInvoke ("InitAdapter")); stmt = new CodeConditionStatement (Equals (expr, Const (null)), new CodeStatement [] {setStmt}, new CodeStatement [] {}); p.GetStatements.Add (stmt); p.GetStatements.Add (Return (expr)); t.Members.Add (p); }