<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">こんにちは。<br>
志水です。<br>
<br>
DB接続できるようになってよかったですね。<br>
<br>
質問の件ですが<br>
私はC#独学&一人で開発なので<br>
インターフェースとか難しいことはわからないし<br>
使わないので、やりたいことがイマイチわかってないかもで<br>
アレですが・・・<br>
<br>
>protected テーブルBhvクラス bhv;<br>
の「テーブルBhv」を<br>
「dynamic」にしとけばテーブル単位に作らなくてもいいと思うんですが。。。<br>
※前スレでは、たしか新谷さんはFramework3.5からの移行だったと思うので<br>
もしかしたら知らないかもしれませんが<br>
dynamicはFramework4.0から追加されています。<br>
結構便利な型ですよ。<br>
<br>
<br>
> public テーブルEntityクラス GetK010Info(int intNumber)<br>
のメソッドはテーブル単位に作るんですか?<br>
それともキーが同じ「テーブルのEntity呼出しの共通メソッドですかね?<br>
あれ?でも、<br>
「テーブルCBクラス cb = new テーブルCBクラス();」があるからテーブル単位のメソッド?<br>
やっぱり、難しいことはわからない~(笑)<br>
けど、 消すことを考えるより、dynamic使ってゴニョゴニョすればいいようにおもいます。<br>
<br>
<br>
すいません、的外れの場合はスルーしてください(^ ^;)<br>
<br>
以上<br>
<br>
<br>
<br>
</div>
<blockquote
cite="mid:CAAQsZE80rTDku-FC3jvM05Vm7PpzVauJdmq8qs973mFB=fk+7w@mail.gmail.com"
type="cite">
<div dir="ltr">こんにちは、新谷です。
<div><br>
</div>
<div>以前質問させていただいた、DB接続について、</div>
<div>正しく動作するようになりました。</div>
<div>ありがとうございます。</div>
<div><br>
</div>
<div>今回は、DBFlute+Quillの使用について、質問させていただきます。</div>
<div><br>
</div>
<div>環境</div>
<div>・.NET Framework4.6.1<br>
</div>
<div>・DBFlute.NET:dbflute-0.8.9.59</div>
<div>・<a moz-do-not-send="true" href="http://s2container.net">s2container.net</a>:1.4.1</div>
<div><br>
</div>
<div>下記のようなソースがあります。<br>
</div>
<div><br>
</div>
<div>===================================================</div>
<div>
<div>using Core.DBFlute.CBean;</div>
<div>using Core.DBFlute.ExBhv;</div>
<div>using Core.DBFlute.ExEntity;</div>
</div>
<div><br>
</div>
<div>
<div> [Implementation(typeof(TestBhvService))]</div>
<div> public interface ITestBhvService<br>
</div>
<div> {</div>
<div> テーブルEntityクラス GetK010Info(int intNumber);</div>
<div> }</div>
<div><br>
</div>
<div> public class TestBhvService : TestBase, ITestBhvService</div>
<div> {</div>
<div> QuillContainer container;<br>
</div>
<div><br>
</div>
<div>
<div> /// <summary></div>
<div> /// コンストラクタ</div>
<div> /// </summary></div>
</div>
<div> public TestBhvService()</div>
<div> {</div>
<div>
<div> QuillInjector injector =
QuillInjector.GetInstance();</div>
<div> container = injector.Container;</div>
</div>
<div> QuillInjector.GetInstance().Inject(this);</div>
<div> }<br>
</div>
<div><br>
</div>
<div> protected テーブルBhvクラス bhv; ←この行が削除できないか?</div>
<div><br>
</div>
<div> /// <summary></div>
<div> /// マスタ取得</div>
<div> /// </summary></div>
<div> public テーブルEntityクラス GetK010Info(int intNumber)</div>
<div> {</div>
<div> QuillComponent component =
container.GetComponent(typeof(テーブルBhvクラス));</div>
<div><br>
</div>
<div> テーブルBhvクラス bhv =
(テーブルBhvクラス)component.GetComponentObject(typeof(テーブルBhvクラス));</div>
<div><br>
</div>
<div> テーブルCBクラス cb = new テーブルCBクラス();</div>
<div><br>
</div>
<div> cb.Query().Setキー_Equal(intNumber);</div>
<div><br>
</div>
<div> return bhv.SelectEntity(cb);</div>
<div> }</div>
<div> }</div>
</div>
<div><br>
</div>
<div>===================================================<br>
</div>
<div><br>
</div>
<div>上記ソースでは正常に動作します。</div>
<div><br>
</div>
<div>しかし、テーブルのBhvクラスをメンバ変数としてしまうと、</div>
<div>全てのテーブルのBhvクラスをメンバ変数としてコンテナに登録する必要がでてきてしまいます。</div>
<div><br>
</div>
<div>DBFluteもQuillに対応しているため、<br>
</div>
<div>そのようなことはしなくても良いと思っているのですが、</div>
<div>S2ContainerのようにDBFlute.diconも使用しないため、</div>
<div>どこで、対象のクラス(今回の場合、テーブルBhvクラス)をQuillContainerに登録すればよいのでしょうか?</div>
<div>(コンストラクタでコンテナへの登録をし、「GetK010Info」内でコンテナから取り出せると思っております。)</div>
<div><br>
</div>
<div>DBFluteの質問をこのメーリングリストに送るのは適切ではないかもしれませんが、</div>
<div>可能であれば、教えていただけませんでしょうか。</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
seasar-dotnet mailing list
<a class="moz-txt-link-abbreviated" href="mailto:seasar-dotnet@ml.seasar.org">seasar-dotnet@ml.seasar.org</a>
<a class="moz-txt-link-freetext" href="https://ml.seasar.org/mailman/listinfo/seasar-dotnet">https://ml.seasar.org/mailman/listinfo/seasar-dotnet</a>
</pre>
</blockquote>
<p><br>
</p>
<br /> <table style="border-top: 1px solid #D3D4DE;">
        <tr>
<td style="width: 55px; padding-top: 18px;"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" target="_blank"><img src="https://ipmcdn.avast.com/images/2016/icons/icon-envelope-tick-round-orange_184x116-v1.png" height="29px" /></a></td>
                <td style="width: 470px; padding-top: 17px; color: #41424e; font-size: 13px; font-family: Arial, Helvetica, sans-serif; line-height: 18px;">ウイルス フリー。 <a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" target="_blank" style="color: #4453ea;">www.avast.com</a>                 </td>
        </tr>
</table>
</body>
</html>